計數控制循環需要下列條件,1控制變數的名稱(name of a control varible,或迴圈計數器),2控制變數的初始值(initial value),3測試控制變數之最終值(final value)的迴圈測試條件,4決定每次迴圈執行時,控制變數所需遞增或遞減大小
#include <iostream>
using namespace std;
int main(){
unsigned int counter=1;
while (counter<=10)
{
cout<<counter<<" ";
++counter;
}
cout<<endl;
}
上面的程式碼是一個計數器,用while的寫法,印出1到10的所有數,我們先給他一個一個變數i=1,讓他從1開始,++counter就是這個小於等於10的數字會一直加1,直到超過10,最後再將所有數字印出就是1到10了
當然除了while,還有C++提供的for重複敘述(for repetition statement)
#include <iostream>
using namespace std;
int main(){
for(unsigned int counter=1;counter<=10;++counter)
cout<<counter<<" ";
cout<<endl;
}
我們要注意的是for迴圈包的三個東西,第一個是控制變數名稱和控制變數初值=1,再來用分號區隔,迴圈條件繼續只要他小於等於10就繼續,在用分號區隔,最後變數增量+1,for用了簡單的兩三行便能達成while的功用
#include <stdio.h>
int main(){
int number,total;
printf("Please enter the number of the customers: ");
scanf("%d", &number);
if(300*number<3000){
total=300*number;
}
if(300*number>=3000){
total=300*number*0.8;
}
printf("Total: %d\n",total);
return 0;
}
上面的程式碼,我們這邊就用到if的條件,我們先假設兩個變數,number就是客人的數量,total就是最後的錢,如果客人的人數乘以一個人300的費用小於3000就不打8折,反之超過3000塊就打8折的意思,最後再將total印出來就是前打折後的價錢,符合上面的題意