一分支結構中題目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表格
折線圖