for(起始值;條件式;遞增或遞減){
程式碼1;
程式碼2;
}
作業
計算1到N之間所有3的倍數之倒數和
參考解答
#include <iostream>
using namespace std;
int main(){
int N;
float sum=0;
cout<<" 20901楊素菀\n";
cout<<" 請輸入一個整數:";
cin>>N;
for(int i=3;i<=N;i=i+3){
sum=sum+(float)1/i;
}
cout<<"1~"<<N<<" 所有3的倍數之倒數和="<<sum<<endl;
system("PAUSE");
}
二、for迴圈+條件判斷
範例:找因數:輸入一個整數,找出此整數除了自己本身以外的所有正因數
int n;
cout<<"請輸入一個整數:";
cin>>n;
for(int i=1;i<n;i++){
if ((n%i) == 0) {
cout<<i<<"\t";
}
}
作業
輸入一個正整數 N,然後判斷它是盈數、虧數還是完全數。
說明:對一個正整數 N 而言,將它除了本身以外所有的因數加起來的總和為 S,如果 S>N,則 N 為盈數,如果 S<N,則 N 為虧數,而如果 S=N,則 N 為完全數(Perfect Number)。
例如
10 的因數有 1、2、5、10,1+2+5=8<10,因此10 為虧數
12 的因數有 1、2、3、4、6、12,1+2+3+4+6=16>12,因此 12 為盈數
6 的因數有 1、2、3、6,1+2+3=6,所以 6 是完全數
參考解答
#include <iostream>
using namespace std;
int main(){
int n,s=0;
cout<<"20601楊素菀\n請輸入一個整數:";
cin>>n;
for(int i=1;i<n;i++){
if ((n%i) == 0) {
s=s+i;
}
}
if(s>n)
cout<<n<<"為盈數"<<endl;
else if(s==n)
cout<<n<<"為完全數"<<endl;
else
cout<<n<<"為虧數"<<endl;
system("PAUSE");
}
加分題:輸入一個正整數 N,找出N的所有質因數(注意:1不是質數)
三、巢狀for迴圈
1.九九乘法表
for(int i=1;i<=9;i=i+1){
for(int j=1;j<=9;j=j+1){
cout << i << "*" << j << "=" << i*j << " ";
}
cout << endl;
}
2.*三角形
for(int i=1;i<=6;i=i+1){
for(int j=1;j<=i;j=j+1){
cout << "*";
}
cout << endl;
}
作業:
輸入一個小於10的整數N,顯示一個數字矩形,矩形四個邊為0,矩形內部為1~N的乘法表