第三次作业
【作业要求】:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360
第11周第六次作业:7-1 求1到100的和
1.实验代码
#include<stdio.h> int main() { int i,sum; sum = 0; for(i=1;i<=100;i++){ sum = sum+i; } printf("sum = %d\n",sum); return 0
2.设计思路
第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格。
第二步:定义相加和(sum),与数字(i)。
第三步:利用for循环,循环求和得出相加数的大小。
第四步:输出结果。
流程图
3.本题调试过程
1.
2.
3.
4.经过for循环得到结果5050.
第12周第九次作业:7-2 输出闰年
1.实验代码
int main()
{
int year, i, count=0;
scanf("%d", &year);
if(year<=2000||year>2100)
printf("Invalid year!\n");
else{
for(i=2001; i<=year; i++){
if(i%4==0&&i%100!=0&&i%400!=0){
printf("%d\n", i);
count++;
}
}
if(count==0)
printf("None\n");
}
return 0;
}
2.设计思路
第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格。
第二步:定义年份(year),count。
第三步:先用if-else语句判断输入的年份是否在21世纪之间,若不是,则输出"Invalid year!"。
第四步:利用for循环,判断年份是否为闰年。如果每得到闰年年份,count+1。当count=0时,则证明无闰年,输出“None”。
第五步:输出结果。
流程图
3.本题调试过程碰到问题及解决办法
一开始我的代码是这样的,编译并没有报错。
但当运行时,输出格式却显示错误,闰年之间的年份全部都被None代替。
经过上网查询和同学的帮助,知道了要先定义count,当输出闰年时count加上1;当count等于0时就说明年份区间没有闰年,输出None。同时将if语句嵌套在while语句内。
经过修改后的代码如下。
进入for循环
判断年份是否是闰年
每得到一个闰年,输出闰年,count+1。
最后的输出结果如下。
第13周第十次作业:7-2 猜数字游戏
1.实验代码
#include<stdio.h> int main() { int number, yournumber = 0, n, i = 0; scanf("%d %d", &number, &n); while(i>=0) { scanf("%d",&yournumber); if(yournumber == number) { if(i == 0) { printf("Bingo!"); } else if(i > 0 && i < 3) { printf("Lucky You!"); } else { printf("Good Guess!"); } break; } else if(yournumber > number) { printf("Too big\n"); i++; } else if(yournumber < number && yournumber >= 0) { printf("Too small\n"); i++; } if(i >= n || yournumber < 0) { printf("Game Over"); break; } } return 0; }
2.设计思路
第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格。
第二步:定义产生的数字(number),猜测的数字(yournumber),猜测次数(n),及i。
第三步:利用while循环,先分不同情况计算猜对数字时的次数n,输出不同结果。
第四步:当猜测数字大于或小于被测数字时,输出不同结果。同时i+1,最后将i与输入的猜测次数n相比较,输出不同结果。
流程图
3.本题调试过程碰到问题及解决办法
一开始我的代码是这样的,编译并没有报错。
当我运行时,输出仅一次,直接显示Too small。并不满足作业的输出样例。
调试过程如下
经过上网查找资料,发现其中需要运用到循环的知识,才能实现在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”结束。
经改正,利用while循环可以实现多次猜测结果,最终输出不同结果。
经过修改后的代码如下。
调试过程如下。
4.个人总结
(1)在本周的学习当中,我们学习到了循环以及嵌套循环等知识点。无论是for循环,while循环还是do-while循环都有所理解,无论是哪种循环,都有它们存在的意义,能够使编程更加有速率地完成。同时,也学习到了可以在循环语句中添加printf,通过调试轻松找到程序的错误之处。在查询资料的过程中,不仅巩固了之前所学习的内容,同时也将这几周学习的内容更深的理解。
(2)本周我认为嵌套循环这个知识点比较难,不知道在哪里运用到嵌套循环这一知识,通常能够理解代码的含义,自己却没办法将代码编写出来。这需要我不断去积累知识,每天练习这个知识点,才能更好地掌握嵌套循环。
5.表格及折线图
表格
折线图
6.作业点评
1.https://www.cnblogs.com/wafx/p/9998306.html