C++中的迴圈結構

一分快三邀請碼多少88886486發表於2021-02-14

C++中的迴圈,也沒有改變,依舊是while迴圈、do-while迴圈以及for迴圈三種,包括配合使用很多的break和continue

使用方法上都沒有什麼差別,我們依舊以題來學習鞏固本部分的語法。

來看訓練場中1143題,判斷素數的題,明白素數的概念後,很明顯對於任何一個數N,都要從2開始到N-1之間依次嘗試,判斷是否能被N整除,來找出是否有能被N除盡的因數,如果沒有則為素數了,反之則不是,那麼很明顯是一道迴圈遍歷的題,C++程式碼如下:

include

using namespace std; int main() { int n,i; cin>>n; for(i=2;i<n;i++) { if(n%i==0) break; } if(i>=n) cout<<1<

return 0;

}

測試執行結果如下:

1509530519753335.png

老規矩,親自上機敲程式碼本地測試沒問題,提交通過之後再往後進行

下面,再看一道C++中迴圈相關的題,由於在ACM競賽中較為常見,也給大家列出來,題目為訓練場1085題,求A+B的和的簡單問題,但為多組測試資料,迴圈不停的接受,C++的寫法則如下:

include

using namespace std; int main() { int a,b; while(cin>>a>>b) { cout<

執行效果如下:

2204_2.png

大家注意while迴圈裡條件的寫法,是一條cin語句,為什麼可以這麼寫呢,與C語言寫法while(scanf("%d%d",&a,&b)==2)道理如出一轍,都是判斷返回值,即cin的返回值,前面給大家講到過cin返回的是一個istream的流物件, 如果遇到問題接收失敗,則返回false,進而結束迴圈。

請大家務必親自上機測試,並用C++完成訓練場1085~1092題。

作業: 1085 A+B for Input-Output Practice (I) 1086 A+B for Input-Output Practice (II) 1087 A+B for Input-Output Practice (III) 1088 A+B for Input-Output Practice (IV) 1089 A+B for Input-Output Practice (V) 1090 A+B for Input-Output Practice (VI) 1091 A+B for Input-Output Practice (VII) 1092 A+B for Input-Output Practice

相關文章