首页 > 代码库 > 4作业
4作业
1.编写程序,输入一个整数x,按照下式输出对应的y值。
#include<stdio.h> int main() { int m,n; float x,y=1.0; printf("请输入实数x和整数m\n"); scanf("%f%d",&x,&m); if (m>=0) { for (n=1;m>=n;n++) { y=y*x; } } else { m=-m; for (n=1;m>=n;n++) { y=y*x; } y=1.0/y; } printf("%f\n",y); return 0; }
2.编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。
#include<stdio.h> int main() { int i; float y=0,x=0,z; for(i=2;i<=100;i+=2) { y=y+1.0/i; } for(i=1;i<=100;i+=2) { x=x+1.0/i; } z=x-y; printf("%.2f\n",z); return 0; }
3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
#include <stdio.h> int main() { int n=0,i,m=0; printf("输出2000年到3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。\n"); for(i=2000;i<=3000;i++) { if(i%4==0&&i%100!=0||i%400==0) { printf("%d ",i); n++; m++; if(n%10==0) { printf("\n"); } } } printf("一共有%d个闰年",m); return 0; }
4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
#include<stdio.h> int main() { int m,i; float x,s=1; printf("请输入一个实数x和一个整数m:\n"); scanf("%f%d",&x,&m); if(m>=0) { for(i=1;i<=m;i++) { s=s*x; } printf("%f",s); } else if(m<0) { for(i=1;i>m+1;i--) { s=s*x; } printf("%f",1/s); } return 0; }
5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
#include<stdio.h> int main() { char c; int a,b,d,e,other; a=0; b=0; d=0; e=0; other=0; printf("请输入一串字符,按回车结束:\n"); scanf("%c",&c); while(c!=‘\n‘) { if(c>=‘A‘&&c<=‘z‘) { a++; } else if(c>=‘a‘&&c<=‘z‘) { b++; } else if(c==‘ ‘) { d++; } else if(c>=‘0‘&&c<=‘9‘) { e++; } else { other++; } scanf("%c",&c); } printf("共有%d个大写字母,%d个小写字母,%d个空格,%d个数字,%d个其他字符",a,b,d,e,other); return 0; }
6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,
m,计算xm,不允许调用pow()函数。
#include<stdio.h> int main() { int a=0,b=0,c=0,d=0,e=0; float f,g; scanf("%d",&a); if(a==0) { printf("error"); } else { while(a!=0) { if(a>0) { b=b+a; c++; } else if(a<0) { d=d+a; e++; } scanf("%d",&a); } f=(float)b/c; g=(float)d/e; printf("%.2f %.2f",f,g); } 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"); } }
总结:做5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。时最后输出时顺序不对应;做6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,时主要还是考虑0的问题不考虑的话除数会多加一个算出结果会小;
4作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。