第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點評

 點評1  

點評2 點評3

3表格           

 

折線圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM