第三次作业
作业要求【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359】
第六次作业 7-1 求1到100的和
#include<stdio.h> int main() { int i,sum; sum=0; for(i=1;i<=100;i++){ sum=sum+i; } printf("sum = %d",sum); return 0; }
第一步:声明两个整形变量i,sum。
第二步:将sum变量赋值为0。
第三步:令i=1,判断如果i<=100的话,那么进行sum=sum+i。i=i+1。然后再次判断条件。
第四步:输出sum的值。
流程图
调试截图
一开始没有加上sum初始值为0,所以加上的和怎么也不对
知道错误后,加上之后结果便对了。这个错误很容易犯。
程序运行截图
这回运行后结果便正确了。
个人总结和遇到的问题
这是一些基础的for循环问题,我最多并且最喜欢用的循环就是for循环,因为他能把事情很简单化,直观辨别出你的循环次数,很适合我们这些初学者。在慕课网上学习了数组,数组远比我想象的难,你有的时候需要去遍历数组,遍历就是将数组中的每一个元素都赋值或者其他。数组可以解决数量庞大的数,但是我依旧不太理解数组的运用。
第9次作业 题目7-2 输出闰年
#include<stdio.h> int main() { int a=0,i=2000; scanf("%d",&a); if(a<i){ printf("Invalid year!"); } else{ while(i<=a){ if(a>2100){ printf("Invalid year!"); break; } else if(a>=2004){ i++; if(i%100!=0){ if(i%4==0){ printf("%d\n",i); } } else if(i%400==0){ printf("%d\n",i); } } else{ printf("None"); break; } }} return 0; }
第一步:定义两个整形变量i,a。并将i赋值为2000,a赋值为0.
第二步:输入一个数,将这个数赋值给a。
第三步:进行判断,如果a小于i的话,那么跳转第六步。否则执行第四步。
第四步:进行判断,判断i是否小于等于a,如果为真,那么进行第五步,否则结束语句。
第五步:进行判断,如果a大于2100,跳转第六步,如果a大于等于2004的话,执行第七步。否则的话,执行第八步。
第六步:输出Invalid year!这句话,结束循环。
第七步:令i=i+1,并且进行判断,如果不是100的倍数并且是4的倍数,那么输出这个年份,如果是400的倍数,也输出这个年份。
第八步:输出None,并且结束循环。
流程图
程序运行截图
换了另一个数进行依然可以
程序调试截图
虽然运行正确,但是当我自己修改下程序的话,就会发现400的倍数也是闰年,虽然题目中400的倍数不输出,但是我认为应该加上那行代码。
这是加上后的代码
加上后代码调试的结果,没有什么错误,但是加上我认为程序会更完美。
个人总结和遇到的问题
整体大多数的代码都可以做出来,但是代码比较复杂,我应该多加联系来简化代码,这样才能使程序清晰并且流畅运行。这周学到的ascll码我认为很有用,ascll码可以输入或者输出一些我们难以想象的字符。
第10次作业 题目 7-1 统计素数并求和
#include<stdio.h> int main() { int a,b,i,n,count=0,sum=0; int flag=1; scanf("%d %d",&a,&b); for(i=a;i<=b;i++){ for(n=2;n<i;n++){ flag=1; if(i%n==0){ flag=0; break; } } if(flag==1&&i!=1){ count++; sum=sum+i;} } printf("%d %d",count,sum); return 0; }
第一步:定义六个整形变量a,b,i,n,count,sum,flag。并将count,sum赋值为0,flag赋值为1;
第二步:输入两个值,分别赋值给a,b。令i=a
第三步:进行判断,如果i<=b,执行第四步,否则,执行第六步。
第四步:令n=2,进行判断n<i是否成立,如果成立的话将flag赋值为1,如果不是素数,那么就将flag赋值为0然后结束循环;
第五步:判断如果flag等于1,并且i不等于1,那么就是素数,count加1,将这个数加进sum里。然后再次返回第三步。
第六步:输出count,sum的值。
流程图
程序运行截图
但是当我输入1和2时,结果本应该是1和2,但是却不对
随后我便进行了调试
程序调试截图
我发现了错误,我的程序把1也当成了素数,我便加了一个条件
运行结果便正确了
个人总结和遇到的问题
这周学习了指针,指针是指向一个地址,指针是数组的特殊形式,也可以在指针里定义一个字符串。代码还是不够简便,需要多加锻炼。
我认为代码是越简单越好,但是也不能过于简单,像是定义变量定义a,b,c之类的,会让看代码的人不了解是什么意思,现在也是我的习惯,我也需要改一下。
总结图表
点评博客【https://www.cnblogs.com/error203/p/9945496.html】