作业要求:【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359】
一:作业7.1
1.实验代码
#include<stdio.h>
int main()
{
int i,sum;
sum=0;
for(i=1;i<=100;i++){
sum=sum+i;}
printf("sum = %d
",sum);
system("pause");
return 0;
}
2.解题思路:
(1)首先定义两个两个变量i,sum,首先sum设定初始值为零。再利用for循环不停的求值,从1开始累加到一百。
给sum=sum+i即每次累加一个数。最后输出sum。
(2)流程图

3.运行结果截图:

调试截图:

遇到的问题及解决办法:
在for循环中没有写上i++,这个将会导致i无法增加,使这个循环结构无法执行。在后来的检查过程中,发现了这个问题并修改了,答案正确。
个人总结:在这次的学习中,我学会了for循环应该怎么用,其中最重要的是找到循环体。
第八次作业:求奇数和
(1):代码:
#include<stdio.h>
int main()
{
int num,a;
for(;;){
scanf("%d",&a);
if(a<=0){
break;
}
if(a%2!=0){
num=num+a;
}
}
printf("%d",num);
return 0;
}
(2)解题思路:
首先设变量num,a。输入a,,如果a<=0,为负数,即程序停止。如果a除以2不等于零,那么a为奇数,循环累计将a的和求出来,和为num,输出num。
(3):流程图:
运行结果:
调试截图:


遇到的问题:
for里面应该有两个分号,开始没有打两个分号,一直编译错误,后来查阅了相关资料才发现这种情况下for需要加括号并且里面要有两个分号。
总结:在写一些程序,任何一步都不能错,不能根据自己的思维来,要知道很多语法点,一点错误不能犯,有不懂的及时解决。
三:第十次作业:
(1):代码:
#include<stdio.h>
int main()
{
int M, N,i,n = 0, j, x = 0;
scanf("%d %d",&M, &N);
for(i = M; i <= N; i++)
{
for(j = 2; j < pow(i,0.5); j++)
{
if(i % j == 0)
{
break;
}
}
if(j > pow(i,0.5) && i != 1)
{
n++;
x+=i;
}
}
printf("%d %d",n,x);
return 0;
}
(2):步骤:
先定义整型变量M, N,i,n = 0, j, x = 0,输入M,N即在MN的范围内求素数,此时当数字除以任何一个中间段的数的时候,余数为零即停止循环,如果不是即累计值,最后求和。最后输出结果n,x。
程序框图:

(3):运行截图:

(4):调试截图:

(5):遇到的问题:
这个题需要两层for循环,刚开始只用了一层,但是编译也是不对的,先是总的for循环规定所求的数的范围,然后里面的for就是判断是否为素数,先是有除了一和本身的数, 运行后排除不是素数的数,剩下的数求和,最后输出所要求的结果。这个题必须要有两个for,否则无法求出素数的和,在查阅了书本后我才知道这个。
总结:这周我们学了for循环更,并且循环的越来越复杂,从一开始的一个循环,比较容易理解的地方开始,慢慢的由浅入深,到后来可能不止一个循环体。这个题目首先需要知道有几个变量,哪些该输入哪些该输出,然后理清各变量之间的关系,再用所学的C语言知识写出来,需要细心的写,不然稍不留神就会出现错误。
表格:


折线图:


评论链接:https://www.cnblogs.com/104gyy/p/10022689.html
https://www.cnblogs.com/cyw1/p/10028608.html
https://www.cnblogs.com/ytyt12/p/10023834.html