while( A.條件式 )
{
B.當條件成立時,就重覆做的事...
}
執行起來流程如下
檢查條件A,成立就做B
==>檢查條件A,成立就做B
==>檢查條件A,成立就做B
...
...
==>檢查條件A,成立就做B
==>檢查條件A,不成立離開。
Rock老師一個學年會教很多個班,每班的人數都不一樣。為了製作名條方便,Rock決定寫程式輸出No.1
~No.n
。
#include<iostream>
using namespace std;
int main()
{
int n;
int i;
cin >> n;
i = 1;
while( i <= n )
{
cout << "No." << i << endl;
i = i+1;
}
return 0;
}
10
No.1
No.2
No.3
No.4
No.5
No.6
No.7
No.8
No.9
No.10
i = i+1;
拿掉會發生什麼事? 為什麼?i = i+1;
移到 cout
之前,結果會不會改變?Rock老師在學期末打算相加學生的期中考、期末考分數做為學期總成績。期中考、期末考滿分各是50分。Rock老師有上千位學生,不太可能每個人一一計算,請你寫出一個程式,替Rock老師達成這項任務。
輸入資料一開始為一個整數n,代表接下來有n位學生。
每位學生有 2 項整數,代表期中考、期末考分數。
請你對每位學生依序輸出他的學期總成績。
5
20 50
40 40
30 50
10 0
50 50
70
80
80
10
100
#include<iostream>
using namespace std;
int main()
{
int n;
int i;
int a, b;
cin >> n;
i = 0;
while( i < n )
{
cin >> a >> b;
cout << a+b << endl;
i = i+1;
}
return 0;
}
輸入三個整數a1、an、d。分別代表遞增等差數列的首項、末項、公差。
列出此遞增等差數列。
#include<iostream>
using namespace std;
int main()
{
int a1, an, d;
int i;
cin >> a1 >> an >> d;
i = a1;
while( i<=an )
{
cout << i << " ";
i = i+d;
}
cout << endl;
return 0;
}
0 30 5
0 5 10 15 20 25 30
請修改程式,讓程式也可算出該遞增等差數列的和。
如上面的輸入,可以算出和為105
。
Eric覺得麥蒂勞的39元漢堡實在太便宜、太好吃了,因此他決定晚餐要把口袋裡所有錢通通拿來吃39元漢堡。假設他每5分鐘就能吃一個漢堡,請你記錄他吃漢堡的過程。
一個整數money,代表Eric身上帶了多少錢。
#include<iostream>
using namespace std;
int main()
{
int money;
int minute = 0;
cin >> money;
while( money >= 39 )
{
money = money-39;
cout << minute << ":00 Eric ate a hamburger." << endl;
cout << " money : " << money << endl;
minute = minute+5;
}
return 0;
}
200
0:00 Eric ate a hamburger.
money : 161
5:00 Eric ate a hamburger.
money : 122
10:00 Eric ate a hamburger.
money : 83
15:00 Eric ate a hamburger.
money : 44
20:00 Eric ate a hamburger.
money : 5