作业要求:https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359
PTA作业:
第六次作业
7-1 求1到100的和
代码:
#include<stdio.h> int main() { int i=1,sum=0; for(i=1;i<=100;i++){ sum=sum+i; } printf("sum = %d",sum); return 0; }
思路:
1)定义两个变量,一个循环变量,一个求和变量;
2)让求和变量的初始值为零,让循环变量从一递增到一百并逐一求和;
3)设置一个判断值使得循环变量不会提前退出循环。
流程图:
运行结果:
调试之旅:
本周总结:
这一周是我们第一次遇到循环,刚开始一些题目确实不懂,但经过老师的讲解和同学的帮助终于明白了如何操作,希望接下来可以再接再厉,继续学习下去。此外,通过对中国大学慕课网的学习,也更深一步加强了对循环的理解。
第九次作业
7-1 求整数的位数及各位数字之和
代码:
#include <stdio.h> int main() { int b=0,n,sum=0; scanf("%d",&n); do { sum+=(n%10); b++; n/=10; } while(n!=0); printf("%d %d",b,sum); return 0; }
思路:
1)首先定义一个输入数,一个求和数,一个计数变量;
2)将输入的变量进行运算,使输入的n每次循环时都除以10,并让sum每次都加上n,最后让计数变量每次加一,完成每次运算;
3)循环时当n为零时结束循环。
流程图:
运行结果:
调试之旅:
本周总结:
这一周我们又一次集中学习了循环里的相关问题,前面几节里不会的题目终于得到了详细的解答和提示,但对于循环仍然存在一些疑难问题有待解决,例如如何求解实际数学问题。但我相信,只要继续努力学习,所有的问题都会解决。
第十次作业
7-1 统计素数并求和
代码:
#include<stdio.h> int main() { int M,N,i,j,count=0,sum=0,flag=0; scanf("%d %d",&M,&N); for(i=M;i<=N;i++){ for(j=2;j<i;j++) { if(i%j==0) { flag=1; break; } } if(flag==0) { count++; sum=sum+i; } flag=0; } if(M==1) { printf("%d %d",count-1,sum-1); } else { printf("%d %d",count,sum); } return 0; }
解题思路:
1)首先定义两个输入量最小值M和最大值N,再定义一个计数变量count和一个两个控制循环变量i和j,接下来定义一个求和变量sum,最后定义一个标志变量flag;
2)输入最小值最大值确定范围;
3)让i从M开始循环,让j从2开始循环;
4)让i除以j取余,如果余数为零则证明i对应的数为非素数,这时将初始值为0的flag赋值为1,使用break跳出j的循环;
5)在i的循环里进行判断,如果flag等于0,则使count加一且让sum等于原值加上这时的i;
6)在i的循环最后将flag的值还原为0;
7)如果M的值为1,因为1并不是素数但计算机又已经将1视为素数进行运算,所以将最后输出的两个值分别减1。
流程图:
运行结果:
调试之旅:
本周总结:
这一周是我们学习循环的最后一周,也是进一步巩固前面所学知识的一周。经过了为其数周的关于循环的学习,我们掌握了三个循环语句,分别是 for循环,while循环以及do-while循环,虽然题目对我们的考验依旧很大,但是相信经过日复一日的学习和练习,经过无数代码的敲击,我们一定会学有所成。
学习进度条
表格:
折线图:
点评
莫有江:https://www.cnblogs.com/moyoujiang/p/9939932.html