首页 > 代码库 > 作业四
作业四
一.
实验要求:
编写程序,输入一个整数x,按照下式输出对应的y值。
代码:
# include <stdio.h> int main () { int z,x,y=0; printf("请您输入一个整数\n"); scanf("%d",&z); if(z<=0) { printf("输入错误\n"); } if(z%2!=0) { for(x=1;x<=z;x=x+2) { y=y+x; } } else if(z%2==0) { for(x=2;x<=z;x=x+2) { y=y+x; } } printf("输出您的答案,结果为%d\n",y); return 0; }
截图:
二.
实验要求:
编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。
代码:
# include <stdio.h> int main() { int z; float x=1,y=0; for (z=1;z<=100;z++) { if(z%2==0) { x=-1.0/(float)z; } else if(z%2!=0) { x=1.0/(float)z; } y=y+x; } printf("算式1-1/2+1/3-1/4+1/5- … +1/99-1/100的结果为%0.2f",y); return 0; }
截图:
三.
实验要求:
输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
代码:
# include<stdio.h> int main() { int x,z=0; for (x=2000;x<=3000;x++) { if((x%4==0&&x%100!=0)||(x%400==0)) { { printf(" %d",x); z=z+1; } if(z%10==0) { printf("\n"); } } } printf("\n 在2000年至3000年,一共有%d个闰年",z); return 0; }
截图:
四.
实验要求:
输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
代码:
#include <stdio.h> int main() { float n,sum=1; int x,y; printf("??ê?è?ò???êμêyoíò?????êy,2¢ó?£?o????a£??°???aêμêy£?oó???a??êy\n"); scanf("%f,%d",&n,&x); if(x==0) { printf("ê?3??úμ??á1??a1"); } else if(x>0) { for(y=1;y<=x;y++) { sum=sum*n; } printf("ê?3??úμ??á1??a%f\n",sum); } else if(x<0) { for(y=1;y<=-x;y++) { sum=sum*n; } sum=1/(float)sum; printf ("ê?3??úμ??á1??a%f\n",sum); } return 0; }
截图:
五.
实验要求:
输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
代码:
#include <stdio.h> int main() { int m=0,n=0,o=0,p=0; char a; printf("请输入任意一段字符。分别统计其中的字母、空格、数字和其他字符的个数\n"); do { scanf("%c",&a); if(a==‘\n‘) { break; } else if(a>=‘1‘&&a<=‘9‘) { m++; } else if(a>=‘A‘&&a<=‘Z‘||a>=‘a‘&&a<=‘z‘) { n++; } else if(a==‘ ‘) { o++; } else { p++; } }while(a!=‘\n‘); printf("数字的数目是:%d\n", m); printf("字母的数目是:%d\n", n); printf("空格的数目是:%d\n", o); printf("其他字符的数目是:%d\n", p); return 0; }
截图:
六.
实验要求:
输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值
代码:
# include <stdio.h> int main() { int a,x=0,y=0,m=0,n=0; printf("请随意输入一批数,输完一个,回车隔开,输入0结束回车:\n"); scanf("%d",&a); while(a!=0) { if(a>0) { x=x+a; m++; } else if(a<0) { y=y+a; n++; } scanf("%d",&a); } if(m==0) { if(n==0) { printf("正数的平均值为0,负数的平均值为0\n"); } else if(n!=0) { printf("正数的平均值为0,负数的平均值为%.2f\n",(double)y/n); } } else if(m!=0) { if(n==0) { printf("正数的平均值为%.2f,负数的平均值为0\n",(double)x/m); } else if(n!=0) { printf("正数的平均值为%.2f,负数的平均值为%.2f\n",(double)x/m,(double)y/n); } } return 0; }
截图:
七.
实验要求:
输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
代码:
# include <stdio.h> # include <math.h> int main() { float a; int m,n=0,x,flag; for(m=2;m<=1000;m++) { flag=0; a=sqrt(m); for(x=2;x<=a;x++) { if(m%x==0) { flag=1; break; } } if(flag==0) { printf(" %03d",m); n++; if(n%10==0&&n!=0) { printf("\n"); } } } printf("\n在一千以内一共有%d个素数\n",n); return 0; }
截图:
八
实验要求:
打印下列图形
代码:
#include<stdio.h> int main() { int x,n; for(x=1;x<=5;x=x+1) { for(n=1;n<=x-1;n=n+1) printf(" "); for(n=1;n<=11-2*x;n=n+1) printf("*"); printf("\n"); } return 0; }
截图:
本次知识点总结:
1.几种关于循环的方法以及循环的嵌套。
2.do while至少执行一次循环,而while可以一次都不执行循环。
3.循环中,break指结束循环,执行循环体后面的语句,continue是跳过循环体中剩余的语句,执行下一次循环。
4.for,if,while后面不必加分号。
5.累加求和问题注意和要初始化为0。累乘求和问题注意 乘积要初始化为1。
6.goto语句指无条件转向语句标号处执行,但不推荐此方法。
本次实验总结:
1.不同的题目合理运用不同的循环方式。
2.注意开始循环时变量的初始值。
3.与前面的输出隔出位置用“ ”,回车用“\n”。
4.输出十个一换行,用次数和10求余。
作业四
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。