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

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

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

      

#include
int main(){ int x,y,i; 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
int main(){ double x,y,z,i; x=0; y=0; for(i=1;i<=99;i=i+2) { x=x+1/i; } for(i=2;i<=100;i=i+2) { y=y-1/i; } z=x+y; printf("%.2lf",z); return 0;}

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

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

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

#include
int main(){ int a,b; double x,y; y=1; scanf("%lf%d",&x,&a); for(b=1;b<=a;b=b+1) { y=y*x; } printf("%lf",y); return 0;}

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

#include
int main(){ int a,b,c,d,e; a=0; b=0; c=0; d=0; printf("请输入一串字符\n"); while(e!='\n') { scanf("%c",&e); if((e>='A'&&e<='Z')||(e>='a'&&e<='z')) { a=a+1; } else if(e>='0'&&e<='9') { b=b+1; } else if(e==' ') { 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
int main(){ double a,b,c,d,e,i,n; i=0; d=0; n=0; e=0; while(a!=0) { scanf("%lf",&a); if(a>0) { i=i+1; d=d+a; } else if(a<0) { n=n+1; e=e+a; } } if(i==0&&n!=0) { b=0; c=e/n; } else if(i!=0&&n==0) { c=0; b=d/i; } else if(n==0||i==0) { c=0; b=0; } else { b=d/i; c=e/n; } printf("正数的平均值为:%f\n",b); printf("负数的平均值为:%f\n",c); return 0; }

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

#include
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
int main(){ int i,j; for(i=1;i<=5;i=i+1) { for(j=1;j<=i-1;j=j+1) printf(" "); for(j=1;j<=11-2*i;j=j+1) printf("*"); printf("\n"); } return 0;}

本次课知识点总结

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

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

3.continue只是结束本次循环,并不是终止整个循环的执行。

4.三种循环可以互相嵌套,不限层数。

5.i++(后缀)先使用后加,++i(前缀)先加后使用。

6.break只能用于循环语句和switch语句,continue只能用于循环体中。

7.不推荐使用goto语句。

实验总结

1.统计字符时要仔细检查结果,注意结果是否把最后的回车也算了进去。

2.输出闰年时要适当输出一些空格,使输出的结构更加简洁明确。

3.输出三角形时,规律要仔细慢慢的寻找,不能着急。

转载于:https://www.cnblogs.com/buyuhang/p/6011900.html

你可能感兴趣的文章
android context详解
查看>>
Android 4.4 外置卡
查看>>
Lua 模块引入中 import 和 require 的差异
查看>>
js模块加载详解
查看>>
.net别样外观控件包DotNetBar
查看>>
C++ 对象间通信框架 V2.0 ××××××× 之(二)
查看>>
js禁止原生手机返回键(物理返回键)
查看>>
接口测试的两种方法(转自 http://www.blogjava.net/qileilove/archive/2012/05/31/379631.html )...
查看>>
20172328《程序设计与数据结构》第七周学习总结
查看>>
Android中内容观察者的使用---- ContentObserver类详解
查看>>
统计图表--第三方开源--MPAndroidChart(一)
查看>>
Leetcode: Multiply Strings
查看>>
java获取登录用户ip地址
查看>>
Tomcat安装与使用
查看>>
Java课程总结
查看>>
android如何用adb shell启动应用程序
查看>>
网站安全
查看>>
实战深度学习OpenCV(一):canny边缘检测
查看>>
责任链模式(chain of responsibility)
查看>>
[转载]java多线程学习-java.util.concurrent详解(一) Latch/Barrier
查看>>