---恢复内容开始---
一.计算机18秋_分支结构 7-7 计算火车运行时间
1.实验代码
#include<stdio.h> #include<math.h> int main() { int a,b,c,d;//定义出发时间,到达时间,所用分钟,所用小时 scanf("%d%d",&a,&b);//输入出发时间,到达时间 c=b%100-a%100;//所用分钟,可能是负数 d=b/100-a/100;//所用小时,一定是正数 if(c<0)//判断c的正负 { c=c+60; d=d-1; }//c一定为正数,所以分钟c=c+60;小时d=d-1; printf("%02d:%02d",d,c); return 0; }
2.设计思路
(1)文字描述
第一步:定义出发时间a,到达时间b,所用的分钟c,小时d。
第二步:用到达时间前两位减去出发时间前两位表示所用的小时数d
第三步:用到达时间的后两位减去出发时间后两位表示所用的分钟数c
第四步:出发时间和到达时间为同一天,时间为24小时制,所以的d>=0。
第五步:存在c<0的情况,按题目要求c>=0,所以从d中取1,加在c中,即c=c+60;b=b-1;
(2)流程图
3.错误提示
(1)定义的c,d弄混
(2)先相减后取余,和取整
4.解决办法
(1)仔细阅读题意,从头捋顺代码,整理思路。
(2)先相减后取整或取余,和先取余或取整例再相减的结果不一样,如:(16-9)%3=2;16%3-9%3=1 两个式子结果并不一样,而题中需要的是后者,我先前的做法是错误的。
二.计算机18秋_循环1 7-4 求奇数和
1.实验代码
#include<stdio.h> int main() { int a,sum=0;//定义输入数a,奇数和sum scanf("%d",&a); while(a>0)//当a>0是读入 { if(a%2!=0)//判断a是否为奇数 { sum=sum+a;//奇数和 } scanf("%d",&a);//不能缺少,没有这句,代表只输入一个大于0的数,就是死循环(重点) } printf("%d",sum); return 0; }
2.设计思路
(1)文字描述
第一步:定义输入数a,奇数和sum=0
第二步:输入a,并判断a的值
第三步:如果a>0,执行循环
第四步:在循环中判断a是否为奇数
第五步:是则sum=sum+a
(2)流程图
3.错误提示
(1)取地址符号总是遗忘
(2)插入代码中标注(重点)的地方,按常规思路想很自然就舍去了
4.解决办法
(1)仔细阅读题意,从头捋顺代码,整理思路。
(2) 询问助教,知道了,不能缺少,没有这句,代表只输入一个大于0的数,就是死循环
三.计算机18秋-循环2 7-6 作品评分
1.实验代码
#include<stdio.h> #include<math.h> int main() { int n,i;//定义评委数n float x,max,min,a,b,sum=0;//定义分数x,最大值max,最小值min,去掉最高分和最低分的总成绩a,平均分b,总分sum scanf("%d\n",&n); for(i=1;i<=n;i++)//执行循环 { scanf("%f",&x); sum=sum+x;//求总成绩 if(i==1) { min=x; max=x; }//给max,min赋值,以便下面的比较 if(x>max) { max=x; }//求最大值 if(x<min) { min=x; }//求最小值 } a=sum-min-max;//去掉最高分和最低分的总成绩 b=a/(n-2);//平均分 printf("%.2f",b); return 0; }
2.设计思路
(1)文字描述
第一步:定义评委数n,分数x,最大值max,最小值min,去掉最高分和最低分的总成绩a,平均分b,总分sum
第二步:求所有分数和sum
第三步:给max,min赋值
第四步:比较大小求出max,min,并用sum-max-min求得去掉最高分和最低分的总成绩a
第五步:求平均分b=a/(n-2)
(2)流程图
3.错误提示
(1)max,min 判断是符号弄反
(2)if判断句中if()中等于写成一个=
4.解决办法
(1)仔细阅读题意,从头捋顺代码,整理思路。
(2)翻阅书籍,if判断句中if()中等于要写成==
四.总结
1.总结
a.所学内容
(1)有关分支结构的一些必要步骤
(2)有关for,while,do while循环的一些知识
b.遇到问题
(1)运用for, while, do while不熟练
(2)不知道怎么四舍五入
(3)不知道怎么定义字母
(4) 编程繁琐,多余
c.解决方法
通过自己翻阅书籍,研究,和同学研究讨论,实在不会的问老师和助教,问题解决后自己要多加练习
(1)计算每一步都需要考虑是否按照题意要求
(2)在所得结果上加上0.5就会在输出的整数,就可以四舍五入输出的结果
(3)int 是整形数据,int a = 3;这里int 是类型, a是整形变量,3是赋值;char s = 'A'; char是字符类型,s是字符型变量,A是赋值给变量s;
2.点评
(1)https://www.cnblogs.com/zxj0402/p/9977677.html
(2)https://www.cnblogs.com/ysq1n/p/10022816.html
(3)https://www.cnblogs.com/z-x-c2429657075-/p/9977471.html
3.表格
周数 | 此周代码行数/行 | 码代码所用时长/h | 所写博客字数/字 | 写博客所用时长/h | 所涉及的知识点 |
第9周 | 2800 | 12 | 0 | 0 | 有关分支结构的知识 |
第10周 | 3000 | 15 | 0 | 0 | 有关四则运算的知识 |
第11周 | 2800 | 13 | 0 | 0 | 有关while,for,do while循环的知识 |
第12周 | 2800 | 14 | 1000 | 5 | 加深对循环的知识 |
4.折线图
=---恢复内容结束---