---恢復內容開始---
一.計算機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.折線圖

=---恢復內容結束---
