第四次作业
1.编写程序,输入一个整数x,按照下式输出对应的y值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <stdio.h> int main() { int x,i,sum=0; printf ( "输入x:" ); scanf ( "%d" ,&x); if (x%2!=0) { for (i=1;i<=x;i+=2) { sum+=i; } printf ( "%d" ,sum); } else { for (i=2;i<=x;i+=2) { sum+=i; } printf ( "%d" ,sum); } return 0; } |
2.编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> int main() {<br> int i; float a=0,b=0,result; for (i=1;i<=99;i+=2) { a+=1.0/i; } for (i=2;i<=100;i+=2) { b+=1.0/i; } result=a-b; printf ( "%.2f\n" ,result); return 0; } |
3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> int main() { int years,i=0,a=0; for (years=2000;years<=3000;years++) if (years%4==0&&years%100!=0||years%400==0) { printf ( "%5d" ,years); a++; i++; if (i%10==0) { printf ( "\n" ); } } printf ( "共有%d个闰年" ,a); return 0; } |
4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include<stdio.h> int main() { float x,y=1; int m,i; printf( "请输入一个实数x和整数m" ); scanf( "%f,%d" ,&x,&m); if (m>=0) { for (i=1;i<=m;i++) { y=y*x; } else { for (i=-1;i>=m;i--) { y=1/x*y; } } printf( "%f" ,y); return 0; } |
5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <stdio.h> int main() { char p; int a=0,b=0,c=0,d=0; printf ( "输入一串字符:" ); scanf ( "%c" ,&p); while (p!= '\n' ) { if (p>= 'a' &&p<= 'z' ||p>= 'A' &&p<= 'Z' ) a++; else if (p> '0' &&p< '9' ) b++; else if (p== ' ' ) c++; else d++; scanf ( "%c" ,&p); } printf ( "字母有%d个,数字有%d个,空格有%d个,其他字符有%d个" ,a,b,c,d); return 0; } |
6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <stdio.h> int main() { int x,i=0,k=0,sum1=0,sum2=0; float average1,average2; printf ( "输入一批数字" ); scanf ( "%d" ,&x); while (x!=0) { if (x>0) { i++; sum1=sum1+x; average1=sum1/i; } else { k++; sum2=sum2+x; average2=sum2/k; } scanf ( "%d" ,&x); } if (i==0&&k!=0) { printf ( "没有正数,负数的平均数为%.2f" ,average2); } else if (i!=0&&k==0) { printf ( "没有负数,正数的平均数为%.2f" ,average1); } else if (i==0&&k==0) { printf ( "没有数字" ); } else { printf ( "正数的平均值为%.2f,负数的平均值为%.2f" ,average1,average2); } return 0; } |
7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include<stdio.h> int main() { int i,j,g=0; for (i=2;i<=1000;i++) { for (j=2;j<=i;j++) { if (i%j==0) { break ; } } if (j==i) { printf ( "%3d " ,i); g++; if (g%10==0) { printf ( "\n" ); } } }<br> printf ( "一共有%d个素数" ,g); return 0; } |
8.打印下列图形
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <stdio.h> int main() { int i,j; for (i=1;i<=5;i++) { for (j=1;j<=i-1;j++) printf ( " " ); for (j=1;j<=11-2*i;j++) printf ( "*" ); printf ( "\n" ); } return 0; } |
实验总结:1.注意break与continue的区别,brake结束循环continue结束本次循环。
2.注意while与for语句与do...while语句的区别。
3.注意观察题目的规律。
4.注意细节,for语句的嵌套等。
知识点总结:1.三种循环的形式丶执行过程丶注意事项以及适宜的场所。
2.理解区分break和continue的使用。
3.循环嵌套的使用。
4.break一般与if语句和switch语句连用。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· 盘点!HelloGitHub 年度热门开源项目
· 某Websocket反爬逆向分析+请求加解密+还原html
· 02现代计算机视觉入门之:什么是视频
· 回顾我的软件开发经历:我与代码生成器的涅槃之路
· DeepSeek V3 两周使用总结