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

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

一:本次实验内容

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

      

#include
int main(){ int x,y,i; y=0; printf("请输入x的值\n"); scanf("%d",&x); if(x%2==0) { for(i=0;i<=x;i=i+2) { y=y+i; } printf("输入的为偶数,y的值为%d\n",y); } else if(x%2!=0) { for(i+0;i<=x;i=i+2) { y=y+i; } printf("输入的为奇数,y的值为%d\n",y); } else { printf("输入错误\n"); } return 0; }

  

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

#include
int main(){ double a,b,c,i; a=0; b=0; for(i=1;i<=99;i=i+2) { a=a+1.0/i; } for(i=2;i<=100;i=i+2) { b=b-1.0/i; } c=a+b; printf("%0.2lf",c); return 0;}

  

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

#include
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个闰年",a); return 0; }

  

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

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

  

  

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

#include
int main(){ int a,b,c,d; char x; a=0; b=0; c=0; d=0; while((x=getchar()) != '\n') { if ('A'<=x&&x<='Z'||'a'<=x&&x<='z') a++; else if(x==' ') b++; else if('0'<=x&&x<='9') c++; else d++; } printf("字母:%d\n",a); printf("空格:%d\n",b); printf("数字:%d\n",c); printf("其他:%d\n",d); return 0; }

  

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

#include
int main(){ int a,b,x; double y,z; a=0; b=0; while(1) { scanf("%d",&x); if(x<0) { a++; y=y+x; } else if(x>0) { b++; z=z+x; } else break; } if (a==0&&b!=0) printf("正数的平均值为%lf\n",z/b); else if (a!=0&&b==0) printf("负数的平均值为%lf\n",y/a); else if(a==0&b==0) printf("0"); else if(a!=0&&b!=0) { printf("负数的平均值为%lf\n",y/a); printf("正数的平均值为%lf\n",z/b); } return 0; }

  

  

  

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

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

  

8.打印下列图形

             

#include
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语句循环体的语句可以是单挑语句也可以是复合语句

2、循环体后面加花括号 更加明确简洁

3、运算符前缀和后缀的执行过程不一样,如:k=++i;为 i=i+1;  k=i    而k=i++; 为k==i;i=i+1;

4、break语句在循环语句和swich语句中使用,终止并跳出循环体或开关体

5、while 语句为先判断表达式,后执行循环。do whlie 为先执行循环 后判断表达式

6、continue 语句只能用在循环中,一般是与if语句一起使用

7、continue只是结束本次循环,并不是终止整个循环的执行

8、go to 语句跳出共同的出口位置,进行退出当前的处理工作

9、三种循环可以互相嵌套,不限层数

三、实验总结

1、for语句中应用分号分隔三个表达式,而不是用逗号分隔

2、for或while语句圆括号后面不可以加分号,do while语句中 while后面加分号

3、循环语句中循环体是复合语句时必须加大圆括号

4、输入大括号时成对输入 ,防止丢失括号, 或者多余括号

5、记得给函数赋值,否则为随机数,使程序错误

6、循环语句套用的时候,适当的使大括号相应地对其,使程序明了

 

转载于:https://www.cnblogs.com/lch1/p/6010908.html

你可能感兴趣的文章
你不知道的JavaScript之类型
查看>>
工作流,sharepoint 开发流程
查看>>
[转]Android推送方案分析(MQTT/XMPP/GCM)
查看>>
使用方向变换(directional transform)图像分块压缩感知
查看>>
朴素贝叶斯法
查看>>
YCbCr-YUV
查看>>
Win10 + MySQL + Tableu + PPT + 可视化方案
查看>>
vs2010+qt4编译出现error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject等错误...
查看>>
css权威指南学习笔记 —— css选择器
查看>>
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
查看>>
JS实现动态添加和删除div
查看>>
(转载)MySQL中UNION和UNION ALL的使用
查看>>
Visual Studio Code Angular4 配置环境
查看>>
Linux 学习碎片
查看>>
if else语句
查看>>
如何选择分类器?
查看>>
虚拟机Linux无法查看本地ip地址 解决办法
查看>>
[转]jvm加载类规则
查看>>
Python介绍
查看>>
windows 下创建 sqlite 数据库
查看>>