第一次作业
循环一中题目7-4求奇数和
1.实验代码:
1 #include<stdio.h> 2 int main() 3 { 4 int n; 5 int result = 0; 6 scanf("%d",&n); 7 while(n > 0) 8 { 9 if( (n % 2)!= 0 ) 10 { 11 12 result += n; 13 } 14 scanf("%d",&n); 15 } 16 printf("%d",result); 17 return 0; 18 }
2.设计思路
(1)文字描述:
第一步:
输入n,代表一行正整数,result代表n个奇数的和。
第二步:
求和用循环。在循环中输入n,判断n中的奇数。
第三步:
"result +=n",求奇数和,然后输出。
(2)流程图
3.本题调试过程碰到的问题及解决办法
1.问题:运行超时
2.
3.解决办法:
将n输入到循环中,即在循环末尾处输入scanf("%d",&n);
分支结构中题目7-8计算存款利息
1.实验代码:
1 #include<stdio.h> 2 int main() 3 { 4 int money; 5 double year,rate; 6 double interest; 7 scanf("%d%lf%lf",&money,&year,&rate); 8 interest = money * pow((1 + rate),year) - money; 9 printf("interest = %.2f",interest); 10 return 0; 11 }
2.设计思路:
(1)文字描述;
第一步:计算interest=money×(1+rate)year−money。
第二步:输出。
(2)流程图:
3.本题调试过程碰到问题及解决办法
(1)错误的代码截图:
(2)错误的原因:年可以是小数。
改正过程:将year定义为double,并将scanf("%d%lf%lf",&money,&year,&rate)中的第二个“%d”改成"%f".
循环2题目中7-4爬动的蠕虫
1.实验代码:
1 #include<stdio.h> 2 int main() 3 { 4 int N,U,D; 5 int count; 6 scanf("%d%d%d",&N,&U,&D); 7 for(count=0;;) 8 { 9 N=N-U; 10 count++; 11 if(N>0) 12 { 13 N=N+D; 14 count++; 15 } 16 else 17 break; 18 } 19 printf("%d\n",count); 20 return 0; 21 }
2.设计思路:
(1)语言描述:
第一步:先计算第一分钟后井剩余的高度N = N-U.
第二步:在计算第二分钟井剩下的高度N = N-U.
第三步:判断井剩余的高度(N)是否大于零:N大于零,继续循环,否则跳出循环。
(2)流程图:
3.本题调试过程碰到问题及解决办法:
(1)错误提示:
(2)错误原因:忘记for循环条件是由三个判断条件所组成,且以“ ; ”隔开。
解决方法:将for(count = 0 )改为for(count=0; count>0; ).即可。
三、总结和学习进度条
1、总结这几周所学内容、遇到的问题以及解决方法:
(1)所学内容:这几周主要学习了分支结构、循环结构以及函数,通过课堂的讲解,对for语句、while语句、do-while语句、if语句、if-else语句有了更深的了解,学习了break语句以及continue语句,对C语言有了进一步的了解。
(2)遇到的问题:
1、对判断条件概念比较模糊,不能很好的判断所需的条件;
2、所学知识难度增加,并不能很好的理解知识点并且运用;
3、对函数的理解较差,对学过的知识不能很好的应用和理解。
(3)解决方法:
1、通过在网上进行搜索相关的知识点,进一步的理解知识点的应用;
2、反复思考,进一步的理解每个题目中隐含的条件,并且利用这些条件去解题;
3、通过观看中国大学MOOC中的网课以及教科书中的例子,加深对函数的理解。
2、点评:
1、李睿淇
2、张学健
3、王恩临
3、这几周的代码行数和时间、博客字数和时间、涉及的知识点。
(1)表格:
(2)折线图: