首页 > 代码库 > 第四次
第四次
一、实验内容
1、编写程序,输入一个整数x,按照下式输出对应的y值。
#include<stdio.h> int main() { int x,y,i; printf("请输入一个数,如果是奇数计算1+3+...+n,如果是偶数则计算2+4+...+n\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() { double 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,i; a=0; for(i=2000;i<=3000;i=i+4) { if(i%4==0&&i%100!=0||i%400==0) { a=a+1; printf("%d ",i); if(a%10==0) printf("\n"); } } printf("一共有%d个闰年\n",a); return 0; }
4、输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
#include<stdio.h> int main() { int m,i; double x,y; y=1; printf("输入一个实数x和一个整数m,计算x的m次方,用空格分开\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() { 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>=‘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; } } 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个,最后输出一共有多少个素数。(每列对齐)
#include<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、打印下列图形
#include<stdio.h> int main() { int a,b; for(a=1;a<=5;a=a+1) { for(b=1;b<=a-1;b=b+1) printf(" "); for(b=1;b<=11-2*a;b=b+1) printf("*"); printf("\n"); } return 0; }
二、本次课实验点总结
1、for语句、while语句和do...while语句的使用和区别
for用在知道循环次数的时候,不知道循环次数的时候用while和do...while,
do...while是必须执行一次
2、简便写法
i=i+1 → i++
a=a+5 → a+=5
3、在循环中,break是结束整个循环,continue是结束本次循环
4、不推荐使用goto语句
5、在判断一个数是否是质数时,用根号来节省运行时间
6、循环嵌套时、外层循环一次,内层完成所有循环
三、实验总结
1、循环时,注意循环的边界,和循环一次计数的变量增加多少
2、输出十个一换行,用次数和10求余,然后输出\n
3、统计字符时,把最后的回车减去
4、想清楚质数的判断条件
5、输出倒三角时,找好规律
第四次
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。