第四次作业
Posted 康伯兴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四次作业相关的知识,希望对你有一定的参考价值。
一:实验内容
1.编写程序,输入一个整数x,按照下式输出对应的y值。
代码:
#include<stdio.h> int main() { int x,i,y=0; printf("输入数字:\n"); scanf("%d",&x); if(x%2==0) { for(i=2;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() { int i,j,k; float sum=0,sum1=0,sum2=0; for(i=1;i<=100;i=i+1) { if(i%2==0) { sum1=sum1-1.0/i; } else if(i%2!=0) { sum2=sum2+1.0/i; } } sum=sum1+sum2; printf("%.2f",sum); return 0; }
运行结果:
3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
代码:
# include <stdio.h> int main() { int x=3000,y=0,i; for(i=2000;i<=x;i++) { if((i%4==0&&i%100!=0)||i%400==0) { printf(" %d",i); y=y+1; if(y%10==0) { printf("\n"); } } } printf("\n闰年有%d个\n",y); return 0; }
运行结果:
4.输入一个实数x和一个整数n,计算x?,不允许调用pow()函数。
代码:
#include<stdio.h> int main() { int x,n,i,y=1; printf("输入x,n的值:\n"); scanf("%d,%d",&x,&n); for(i=1;i<=n;i=i+1) { y=y*x; } printf("%d的%d次方的值为%d:",x,n,y); return 0; }
运行结果:
5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
代码:
#include<stdio.h> int main() { int a,b,c,d; char x; a=0; b=0; c=0; d=0; printf("请输入一串字符\n"); while(x!=‘\n‘) { scanf("%c",&x); if(x==‘\n‘) { break; } else if((x>=‘A‘&&x<=‘Z‘)||(x>=‘a‘&&x<=‘z‘)) { a=a+1; } else if(x>=‘0‘&&x<=‘9‘) { b=b+1; } else if(x==‘ ‘) { c=c+1; } else { d=d+1; } } printf("一共有%d个字母,%d个数字,%d个空格,%d个其他\n",a,b,c,d); 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个,最后输出一共有多少个素数。(每列对齐)
代码:
ude<stdio.h> int main() { int a,b,c,i; b=0; c=0; for(a=1;a<=1000;a=a+1) { b=b+1; for(i=2;i<=b-1;i=i+1) { if(b%i==0) { break; } } if(i==b) { printf("%03d ",i); c=c+1; if(c%10==0) printf("\n"); } } printf("\n一共有%d个质数\n",c); return 0; }
运行结果:
8.打印下列图形
代码:
clude<stdio.h> int main() { int i,a; for(i=1;i<=5;i=i+1) { for(a=1;a<=i-1;a=a+1) printf(" "); for(a=1;a<=11-2*i;a=a+1) printf("*"); printf("\n"); } return 0; }
运行结果:
二:本次课知识点总结
1.知道循环次数时用for语句,不知道时用while语句或do...while语句。
2.do...while语句必须执行一次,while语句随意。
3.在循环中,break是结束整个循环,continue是结束本次循环。
4.循环嵌套时,外层循环一次,内层完成所有循环。
三:实验总结
1.输出几个换行时,用次数和每行个数求余,在输出“\n”。
2.在问题复杂时,可以用多个循环简化。
3.循环结构注意赋初值。
以上是关于第四次作业的主要内容,如果未能解决你的问题,请参考以下文章