首页 > 代码库 > 第四次作业

第四次作业

1.编写程序,输入一个整数x,按照下式输出对应的y值。

      技术分享

#include <stdio.h>
int main()
{
	int x,i,sum=0;
	printf("输入x:");
	scanf("%d",&x);
	if(x%2!=0)
	{
		for(i=1;i<=x;i+=2)
		{
			sum+=i;
		}
		printf("%d",sum);
	
	}
	else
	{	
		for(i=2;i<=x;i+=2)
		{
			sum+=i;
		}
		printf("%d",sum);
	}
	return 0;
}

  技术分享

2.编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。

#include <stdio.h>
int main()
{
   float i,a=0,b=0,result;
   for(i=1;i<=99;i+=2)
   {
	   a+=1/i;
   }
   for(i=2;i<=100;i+=2)
   {
	   b+=1/i;
   }
   result=a-b;
   printf("%.2f\n",result);
   return 0;
}

  技术分享

3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。

#include <stdio.h>
int main()
{
	int years,i=0,a=0;
	for(years=2000;years<=3000;years++)
	if(years%4==0&&years%100!=0||years%400==0)
	{
		printf("%5d",years);
	a++;
	i++;
	if(i%10==0)
	{
		printf("\n");
	}
	}
	
	printf("共有%d个闰年",a);
	return 0;
}

  技术分享

4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。

#include <stdio.h>
int main()
{
	int x,m,i,y=1;
	printf("请输入一个实数x和一个整数m:");
	scanf("%d,%d",&x,&m);
	for(i=1;i<=m;i++)
	y=x*y;
	printf("%d\n",y);
	return 0;
}

  技术分享

5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。

 

#include <stdio.h>
int main()
{
   char p;
	int a=0,b=0,c=0,d=0;
	printf("输入一串字符:");
	scanf("%c",&p);
	while(p!=‘\n‘)
	{
		if(p>=‘a‘&&p<=‘z‘||p>=‘A‘&&p<=‘Z‘)
		a++;
		else if(p>‘0‘&&p<‘9‘)
		b++;
		else if(p==‘ ‘)
		c++;
		else
		d++;
		scanf("%c",&p);
		
	}
	
	printf("字母有%d个,数字有%d个,空格有%d个,其他字符有%d个",a,b,c,d);
	return 0;	
}

  技术分享

6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,

#include <stdio.h>
int main()
{
	int x,i=0,k=0,sum1=0,sum2=0;
	float average1,average2;
	printf("输入一批数字");
	scanf("%d",&x);
	while(x!=0)
	{
		if(x>0)
		{
			i++;
			sum1=sum1+x;
			average1=sum1/i;
		}
		else 
		{
			k++;
			sum2=sum2+x;
			average2=sum2/k; 
        }
        scanf("%d",&x);
	}
	if(i==0&&k!=0)
	{
		printf("没有正数,负数的平均数为%.2f",average2);
	}
	else if(i!=0&&k==0)
	{
		printf("没有负数,正数的平均数为%.2f",average1);
	}
	else if(i==0&&k==0)
	{
		printf("没有数字");
	}
	else
	{
		printf("正数的平均值为%.2f,负数的平均值为%.2f",average1,average2);
	 } 
	return 0;
	
	
}

  技术分享

7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)

 

 

 

 

8.打印下列图形

             技术分享

 

#include <stdio.h>
int main()
{
	int i,j;
	for(i=1;i<=5;i++)
	{
		for(j=1;j<=i-1;j++)
		printf(" ");
		for(j=1;j<=11-2*i;j++)
		printf("*");
		printf("\n");
	}
	return 0;
		
}

  技术分享

实验总结:1

知识点总结:

 

第四次作业