第四次作业
2016-10-30 23:00 沉默的核桃 阅读(187) 评论(0) 编辑 收藏 举报
编写程序,输入一个整数x,按照下式输出对应的y值。
#include<stdio.h> int main() { int x,y,i; printf("请输入一个数\n") ; scanf("%d",&x); y=0; if(x<=0) { printf("输入错误\n"); } else { if(x%2==0) { for(i=0;i<=x;i=i+2) { y=y+i; } printf("%d",y); } else if(x%2!=0) { for(i=1;i<=x;i=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 a,b,c,i; a=0; b=0; for(i=1;i<=99;i=i+2) { a=a+1/i; } for(i=2;i<=100;i=i+2) { b=b-1/i; } c=a+b; printf("%.2lf",c); return 0; }
3、输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
#include<stdio.h> int main() { int a,b,c; for(a=2000;a<=3000;a++) { if ((a%4==0&&a%100!=0)||a%400==0) { printf("%d ",a); if (b++%10==0) { printf("\n"); } } } c=b-1; printf("一共有%d个闰年",c); return 0; }
4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
#include<stdio.h> int main() { int m,i; double x,y; y=1; printf("输入一个整数,一个实数,用空格分开\n") ; scanf("%lf%d",&x,&m); for(i=1;i<=m;i=i+1) { y=y*x; } printf("%lf",y); return 0; }
5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
#include<stdio.h> int main() { char a; int b=0,c=0,d=0,e=0,other=0; printf("输入一串字符,按回车结束\n"); scanf("%c",&a); while(a!='\n') { if(a>='A'&&a<='Z') { b=b+1; } else if(a>='a'&&a<='z') { c=c+1; } else if(a==' ') { d=d+1; } else if(a>='0'&&a<='9') { e=e+1; } 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() { double x,a,b,c,d,i,j; a=0; b=0; i=0; j=0; printf("请输入一批数(整数和负数,用回车分开,输入0结束)\n"); while(x!=0) { printf("请输入\n"); scanf("%lf",&x); if(x>0) { a=a+x; i=i+1; } else if(x<0) { b=b+x; j=j+1; } } c=a/i; d=b/j; if(i==0&&j!=0) { printf("没有输入正数,负数的平均数是%lf\n",d); } else if(j==0&&i!=0) { printf("正数的平均数是%lf,没有输入负数\n",c); } else if(i==0&&j==0) { printf("没有输入数据\n"); } else { printf("正数的平均数是%lf,负数的平均数是%lf\n",c,d); } return 0; }
7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
#include<stdio.h> int main() { int a,b,c,d; for(a=2;a<=1000;a++) { for(b=2;b<a;b++) { if(a%b==0) break; } if(b>=a) { printf("%03d ",a); c++; if(c%10==0) { printf("\n"); } } } return 0; }
8.打印下列图形
#include<stdio.h> int main() { int i,j,h; for(i=1;i<=6;i++) { for(h=5;h>=(6-i);h--) { printf(" "); } for(j=9;j>=(i*2-1);j--) { printf("*"); } printf("\n"); } }