一、实验内容
1.编写程序,输入一个整数x,按照下式输出对应的y值。
#include<stdio.h> int main() { int x,y=0,sum=0,i; printf("输入一个整数"); scanf("%d",&x); if(x%2==0) { for(i=2;i<=x;i+=2) { sum=sum+i; } printf("%d",sum); } else { for(i=1;i<=x;i+=2) { y=y+i; } printf("%d",y); } return 0; }
2.编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。
#include<stdio.h> int main() { float x,y,sum1=0,sum2=0,a; for(x=1;x<=99;x+=2) { sum1=sum1+1.0/x; } for(y=2;y<=100;y+=2) { sum2=sum2+1.0/y; } a=sum1-sum2; printf("%0.2f",a); return 0; }
#include<stdio.h> int main() { float x,y,sum1=0,sum2=0,a; for(x=1;x<=99;x+=2) { sum1=sum1+1.0/x; } for(y=2;y<=100;y+=2) { sum2=sum2+1.0/y; } a=sum1-sum2; printf("%0.2f",a); return 0; }
3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
#include<stdio.h> int main() { int a,b=0,c; for(a=2000;a<=3000;a++) { if(a%4==0&&a%100!=0||a%400==0) { printf("%d ",a); b++; if(b%10==0) { printf(" "); } } } printf("一共有%d个闰年",b); return 0; }
4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
#include<stdio.h>
int main()
{
int m;
float y=1.0,x,z;
printf("请输入一个实数x和一个整数m");
scanf("%f%d",&x,&m);
for(z=1;z<=m;z++)
{
y=y*x;
}
printf("%0.2f",y);
return 0;
}
5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
#include<stdio.h> int main() { char a; int b=0,c=0,d=0,e=0,other=0; printf("输入一串字符,按回车结束 "); scanf("%c",&a); while(a!=' ') { if(a>='A'&&a<='Z') { b++; } else if(a>='a'&&a<='z') { c++; } else if(a==' ') { d++; } else if(a>='0'&&a<='9') { e++; } else { other=other+1; } scanf("%c",&a); } printf("一共有%d个大写字母,%d个小写字母,%d个空格,%d个数字,有%d个其他字符",b,c,d,e,other); return 0; }
6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,
#include<stdio.h> int main() { int x,i=0,j=0,a=0,b=0,c,d; printf("输入一批数,输入零结束"); scanf("%d",&a); if(a==0) { printf("error"); } else { while(x!=0) { if(x>0) { i++; a=a+x; c=(float)a/i; } else if(x<0) { j++; b=b+x; d=(float)b/j; } scanf("%d",&x); } } printf("所有正数的平均数是%.2f,所有负数的平均数是%.2f",c,d); return 0; }
7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
#include <stdio.h> int main() { int x,y,flag=0,f=0; for(x=2;x<=1000;x++) { for(flag=0,y=2;y<=x-1;y++) { if(x%y==0) { flag=1; break; } } if (flag!=1) { printf("%4d",x); f++; if (f%10==0) { printf(" "); } } } return 0; }
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(" "); } return 0; }