博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第四次实验作业
阅读量:4602 次
发布时间:2019-06-09

本文共 3733 字,大约阅读时间需要 12 分钟。

1.编写程序,输入一个整数x,按照下式输出对应的y值。

      

#include
int main(){ int x,y,i; y=0; printf("请输入一个整数x\n"); scanf("%d",&x); if(x%2==1) { for(i=1;i<=x;i+=2) { y=i+y; } } else if(x%2==0) { for(i=2;i<=x;i+=2) { y=i+y; } } printf("%d",y); return 0;}

 

  2.编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。

#include
int main(){ int i,n; float y=1; for(i=2;i<=100;i=i+2) { y=y-1.00/i; } for(n=3;n<=100;n=n+2) { y=y+1.00/n; } printf("%0.2f\n",y); return 0;}

 

  3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。

#include
int main(){ int i,c; c=0; for(i=2000;i<=3000;i=i+1) { if((i%4==0&&i%100!=0)||(i%400==0)) { printf("%d ",i); c=c+1; if(c%10==0) { printf("\n"); } } } printf("一共有%d个闰年",c); return 0;}

 

  4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。

 

#include
int main(){ int m,i; float x,y=1; printf("请输入一个实数x和整数m\n"); scanf("%f%d",&x,&m); if(m>0) { for(i=1;i<=m;i=i+1) { y=y*x; } } else if(m==0) { y=1; } else if(m<0) { for(i=-1;i>=m;i--) { y=y*(1/x); } } printf("%f\n",y); return 0;}

 

 

 

  5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。

#include
int main(){ int a,b,c,d,e,i; char c1; a=0; b=0; c=0; d=0; e=0; printf("请输入一串字符\n"); scanf("%c",&c1); while(c1!='\n') { if('A'<=c1&&c1<='Z'||'a'<=c1&&c1<='z') { b++; } else if(c1==32) { c++; } else if('0'<=c1&&c1<='9') { d++; } else { e++; } scanf("%c",&c1); } printf("字母有%d个,空格有%d个,数字有%d个,其他有%d个",b,c,d,e); return 0;}

 

 

 

  6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,

 

#include
int main(){ int a,b,c,d,e; b=0; c=0; d=0; e=0; printf("请输入一批数\n"); scanf("%d",&a); while(1) { if(a>0) { b+=a; e++; } else if(a<0) { d+=a; c++; } else if(a==0) break; scanf("%d",&a); } if(e==0&&c==0) { printf("没有结果\n"); } else if(e==0&&c!=0) { printf("正数的平均值为0,负数的平均数为%f\n",(float)b/e); } else if(e!=0&&c==0) { printf("正数的平均值为%f,负数的平均值为0\n",(float)d/c); } else if(e!=0&&c!=0) { printf("正整数的平均数为%f,负数的平均数是%f",(float)d/c,(float)b/e); } return 0;}

 

 

 

  7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)

#include
int main(){ int i,n,z=0,flag=0; for(i=2;i<=1000;i++) { for(n=2,flag=0;n<=i-1;n++) { if(i%n==0) { flag=1; break; } } if(flag!=1) { printf("%4d ",i); z++; if(z%10==0) { printf("\n"); } } } printf("一共有%d个素数",z); return 0;}

 

 

 

  8.打印下列图形

             

 

 

#include
int main(){ int i,j; for(i=1;i<=5;i++) { for(j=1;j<=i-1;j++) { printf(" "); } for(j=1;j<=2*(5-i)+1;j++) { printf("*"); } printf("\n"); } return 0;}

 

 

本次课知识点总结:

1.循环次数已知的时候用for语句,循环次数未知的时候用whlie语句。

2.break在循环语句和switch语句中,终止并跳出循环体或开关体。

3.break只能终止并跳出最近一层的结构。

4.continue语句只结束本次循环,而不是终止整个的执行。而break语句则是结束整个循环过程,不在判断执行循环的条件是否成立。

实验总结(实验中遇到的问题及解决方法):

1.记住开始时要附初始值。

2.for和whlie语句后边没有分号。

3.明确每个值所代表的意义。

4.循环体中应有是循环趋向结束的语句。

5.写代码前可以先写一个执行流程。

 

转载于:https://www.cnblogs.com/wy97/p/5994087.html

你可能感兴趣的文章
努力,时间,坚持,自律
查看>>
真三 bug PT的凤凰
查看>>
???动态SQL
查看>>
js错误处理与调试理论和办法
查看>>
Binding.StringFormat不起作用的原理和解决
查看>>
css hack兼容写法
查看>>
CSS两列布局 一边固定 一边自适应
查看>>
Hadoop2.6.0 动态增加节点
查看>>
图论的一些概念、定理
查看>>
WebView用法
查看>>
Lecture 3: Planning by Dynamic Programming
查看>>
用flash代替图片IMG,设置动态效果链接
查看>>
关于JS的随笔(二)
查看>>
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(转)
查看>>
webbug3.0菜鸟笔记1
查看>>
数组相关函数
查看>>
Python 和其他编程语言数据类型的比较
查看>>
T2695 桶哥的问题——送桶 题解
查看>>
HTML5 表单
查看>>
Android群英传》读书笔记 (3) 第六章 Android绘图机制与处理技巧 + 第七章 Android动画机制与使用技巧...
查看>>