c語言循環作業


一、PTA實驗作業

題目1:小於m的最大的10個素數

1. 本題PTA提交列表:

 

2. 設計思路:

定義變量 m,i,count=0;輸入m.

用while(count<10)作為循環條件,內部語句來判斷m是否是素數

輸出時printf("%6d",m);

流程圖:

3.本題調試過程碰到問題及PTA提交列表情況說明

本題提交錯誤原因皆為輸出時的格式錯誤,當時嘗試了好幾種輸出格式都不對,

后來百度了c語言輸出格式,才知道這里的輸出格式應該是%6d。

 

題目2:求簡單交錯序列前N項和

1. 本題PTA提交列表:

 2. 設計思路:

定義變量n(輸入值),flag=1(用於改變符號),d=1(用於分母累加),i(循環條件變量),sum(計算總和)

令i=1,當i<=n時;進入循環內部:sum=flag*1.0/d+sum,flag=-flag,d=d+2,i++,跳出循環時輸出sum。

流程圖:

 

3.本題調試過程碰到問題及PTA提交列表情況說明

 

本題提交兩次錯誤原因都是因為sum的計算求和公式錯誤,

錯寫為sum=flag*i*1.0/d+sum;這樣分子每次都會加1,而實際上分子是不變的。

所以應該改為sum=flag*1.0/d+sum。

 

題目3:大笨鍾

1. 本題PTA提交列表:

 

 

 2. 設計思路:

定義變量hh,mm,i,輸入hh,mm。

當hh為00-11點或hh為12,mm為00時,鍾不敲。

超過12點,幾點就敲幾下,利用循環結構實現,不為整點的再敲一下。

流程圖:

 3.本題調試過程碰到問題及PTA提交列表情況說明

12點邊界不敲:第七行條件應該是:hh<12&&mm<=59||hh==12&&mm==0

這邊少了12點整點的判斷,其他錯誤都是因為輸出格式錯誤,%d應改為%02d。

%02d表示輸出的數字占兩個位,如果數字只有一位就在數字前面補零。

 

二、同學代碼結對互評

我的代碼:

互評同學代碼:

我和同學代碼不同在哪里?有哪些各自優勢?你更喜歡哪種代碼風格?

我的代碼再另設一個變量m存儲原來的a值,因為a值經過運算會改變,但原來的a值每次計算總和都需要加上去。

吳凡同學的代碼保留原來的a值,設變量x,來進行計算。我更喜歡吳凡同學的代碼,因為這樣不容易混亂,

a的值永遠是輸入的那個值。

 

三、截圖本周題目集的PTA最后排名

 

 四、本周學習總結

1.你學會了什么?

1.1while循環

while(表達式)

    循環體語句;

循環體內部有多條語句時,要加上大括號 。

1.2do-while循環

do{

      循環體語句

}while(表達式);

1.3for循環

for(初始化表達式; 循環變量判定表達式; 循環變量修正表達式)

{

    循環體語句

       }

1.4利用循環結構和分支結構判斷一個數是否是素數

1.5 break語句和continue語句

break語句:1.中止循環

                    2.結束switch語句

continue語句:跳過循環體中continue后面的語句,繼續下一次循環。

1.6利用循環嵌套解決問題

求最值問題,求階乘,逆序,斐波那契數列,窮舉算法,解決簡單的邏輯問題。

 

2.本周的內容,你還不會什么?

嵌套循環的運用還不夠熟練,對於復雜一些的題目無法下手,

比如打印沙漏那題,要想很長時間才能找到循環的條件。

導致一道題花了大量時間。

 

3.循環結構考試總結

對於一些基本概念和計算機導論方面的知識理解不夠透徹,

之后要多看書,補一下關於這方面的知識。

題意的理解也不夠到位,還有就是考試時不夠細心。

然后編程題考慮得不夠全面,只解決了部分問題。

 


免責聲明!

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



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