第1次作业
一分支结构中题目7-7计算火车运行时间
1实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int m,n,x,y; 5 scanf("%d%d",&m,&n); 6 m=m/100*60+m%100; 7 n=n/100*60+n%100; 8 x=(n-m)/60; 9 y=(n-m)%60; 10 printf("%02d:%02d\n",x,y); 11 return 0; 12 }
2设计思路
(1)第一步:按照题目要求定义火车出发与到按时间(m与n)
第二步:定义火车到达的小时与分钟(x与y)
第三步:将出发与到达的小时全部换算成分钟(m/100*60+m%100;n/100*60+n%100)
第四步:换算后重新赋值给m与n
第五步:计算到达的总分钟数减去出发的总分钟,即行程分钟数(n-m)
第六步:行程分钟数除以60就是所用小时(x)取余60就是剩余分钟数(y)
第七步:最后输出x与y并且用“:”分隔且都为两位数
(2)流程图
3.本题调试过程碰到问题及解决办法
(1)
(2)解决方法
1将mian改为main
2 scanf("%d%d",m,n);加上&,,scanf("%d%d",&m,&n);
3加换行符号printf("%02d:%02d\n",x,y);
二 循环1统计学生平均成绩与及格人数
1实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int n,i,a,count=0,sum=0; 5 double average; 6 scanf("%d",&n); 7 if(n==0) 8 { 9 printf("average = 0.0\n"); 10 printf("count = 0"); 11 } 12 else 13 { 14 for(i=0;i<n;i++) 15 { 16 scanf("%d",&a); 17 sum = sum + a; 18 if (a>=60) 19 count++; 20 } 21 average =1.0* sum / n; 22 printf("average = %.1f\n",average); 23 printf("count = %d\n",count); 24 } 25 return 0; 26 }
2设计思路
(1)第一步:如果学生数为零那么平均成绩与及格人数都是零
第二步:添加一个循环作用为循环输入学生成绩
第三步:输入一个成绩,就把该成绩加入总和(sum = sum + a)
第四步:如果成绩及格,那么及格人数加一
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示:没有考虑没有学生的情况
(2)解决办法:当没有学生时,平均成绩与及格人数都为零,但是要考虑格式问题
1 if(n==0) 2 { 3 printf("average = 0.0\n"); 4 printf("count = 0"); 5 }
三循环2 找出最小值
1实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int m,n,i,min; 5 scanf("%d",&n); 6 for(i=1;i<=n;i++) 7 { 8 scanf("%d",&m); 9 if(n==1) 10 { 11 min=m; 12 } 13 if(min>m) 14 { 15 min=m; 16 }17 } 18 printf("min = %d",min); 19 return 0; 20 }
2设计思路
(1)第一步:当第一次输入时将该值赋值给最小值
第二步:再次输入时与最小值进行比较,若该值小于最小值那么将该值赋值给最小值
第三步:每次输入一个值,可输入整数的个数减一
第四步:输出最小值
(2)流程图
3.本题调试过程碰到问题及解决办法
错误(1)当n=1时,i<1是错误的,无法进入循环
(2)最后输出值应该是min,不应该是m
解决办法(1)针对n=1时,第一种解决办法时将i<n改成i<=n,第二种办法是将i=1改为i=0
(2)将printf("min = %d",min)改为printf("min = %d",m)
四总结
1这几周主要学习了 分支结构和循环结构,例如二分支结构与多分支结构,字符型数据的输入与输出,还有一些关于循环的知识,如何针对事例去做循环并且保证完美运行。以及一些常用的语句(if,if-else,else-if),还有循环控制方式什么时候该用for循环什么时候该用while以及do-while循环。
遇到的问题 (1)不知道怎样选择合适的循环语句
(2)常见的编辑错误拼写错误还是存在
(3)当遇到特殊情况时考虑不周
(4)一些逻辑上的错误
解决方法(1)在每一道题上多次尝试用不一样的循环语句,总结这些语句的应用特点,课堂上认真倾听老师的看法。
(2)针对拼写错误,只能仔细一点。
(3)针对错误提示,选择合理的方法去突破特殊值。
(4)逻辑错误是个很大的漏洞,在课堂上以及慕课上紧跟老师节奏,看老师是怎样去理顺这个逻辑关系的。
2点评
3表格
折线图