第三次隨筆
作業要求:https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359
PTA作業:
第六次作業
7-1 求1到100的和
程式碼:
#include<stdio.h> int main() { int i=1,sum=0; for(i=1;i<=100;i++){ sum=sum+i; } printf("sum = %d",sum); return 0; }
思路:
1)定義兩個變數,一個迴圈變數,一個求和變數;
2)讓求和變數的初始值為零,讓迴圈變數從一遞增到一百並逐一求和;
3)設定一個判斷值使得迴圈變數不會提前退出迴圈。
流程圖:
執行結果:
除錯之旅:
本週總結:
這一週是我們第一次遇到迴圈,剛開始一些題目確實不懂,但經過老師的講解和同學的幫助終於明白瞭如何操作,希望接下來可以再接再厲,繼續學習下去。此外,通過對中國大學慕課網的學習,也更深一步加強了對迴圈的理解。
第九次作業
7-1 求整數的位數及各位數字之和
程式碼:
#include <stdio.h> int main() { int b=0,n,sum=0; scanf("%d",&n); do { sum+=(n%10); b++; n/=10; } while(n!=0); printf("%d %d",b,sum); return 0; }
思路:
1)首先定義一個輸入數,一個求和數,一個計數變數;
2)將輸入的變數進行運算,使輸入的n每次迴圈時都除以10,並讓sum每次都加上n,最後讓計數變數每次加一,完成每次運算;
3)迴圈時當n為零時結束迴圈。
流程圖:
執行結果:
除錯之旅:
本週總結:
這一週我們又一次集中學習了迴圈裡的相關問題,前面幾節裡不會的題目終於得到了詳細的解答和提示,但對於迴圈仍然存在一些疑難問題有待解決,例如如何求解實際數學問題。但我相信,只要繼續努力學習,所有的問題都會解決。
第十次作業
7-1 統計素數並求和
程式碼:
#include<stdio.h> int main() { int M,N,i,j,count=0,sum=0,flag=0; scanf("%d %d",&M,&N); for(i=M;i<=N;i++){ for(j=2;j<i;j++) { if(i%j==0) { flag=1; break; } } if(flag==0) { count++; sum=sum+i; } flag=0; } if(M==1) { printf("%d %d",count-1,sum-1); } else { printf("%d %d",count,sum); } return 0; }
解題思路:
1)首先定義兩個輸入量最小值M和最大值N,再定義一個計數變數count和一個兩個控制迴圈變數i和j,接下來定義一個求和變數sum,最後定義一個標誌變數flag;
2)輸入最小值最大值確定範圍;
3)讓i從M開始迴圈,讓j從2開始迴圈;
4)讓i除以j取餘,如果餘數為零則證明i對應的數為非素數,這時將初始值為0的flag賦值為1,使用break跳出j的迴圈;
5)在i的迴圈裡進行判斷,如果flag等於0,則使count加一且讓sum等於原值加上這時的i;
6)在i的迴圈最後將flag的值還原為0;
7)如果M的值為1,因為1並不是素數但計算機又已經將1視為素數進行運算,所以將最後輸出的兩個值分別減1。
流程圖:
執行結果:
除錯之旅:
本週總結:
這一週是我們學習迴圈的最後一週,也是進一步鞏固前面所學知識的一週。經過了為其數週的關於迴圈的學習,我們掌握了三個迴圈語句,分別是 for迴圈,while迴圈以及do-while迴圈,雖然題目對我們的考驗依舊很大,但是相信經過日復一日的學習和練習,經過無數程式碼的敲擊,我們一定會學有所成。
學習進度條
表格:
折線圖:
點評
莫有江:https://www.cnblogs.com/moyoujiang/p/9939932.html