BY企鵝
C++基礎語法-5
複習
重複結構
//題目:請輸出1~n之間除了2和3的倍數的數字,且 0 < n < 2147483647
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
for(int i = 1 ; i <= n ; i++){
if(i % 2 == 0 || i % 3 == 0){
continue;
}
cout << i << ' ';
}
cout << endl;
return 0;
}重複結構
//題目:請設計一個密碼驗證程式,驗證使用者輸入的密碼是否正確
//保證密碼全都由數字組成,且 0 < 密碼 < 2147483647
#include <iostream>
using namespace std;
int main(){
int password, correct = 12345678;
cin >> password;
while(password != correct){
cout << "密碼錯誤,請重新輸入\n";
cin >> password;
}
cout << "密碼正確\n";
return 0;
}重複結構


陣列
為什麼需要陣列?
題目:給定五個整數a1~a5,請以a5~a1的順序重新輸出
#include <iostream>
using namespace std;
int main(){
int a1, a2, a3, a4, a5;
cin >> a1 >> a2 >> a3 >> a4 >> a5;
cout << a5 << ' ';
cout << a4 << ' ';
cout << a3 << ' ';
cout << a2 << ' ';
cout << a1 << '\n';
return 0;
}
陣列 (array)
#include <iostream>
using namespace std;
int main(){
int a[5];
cin >> a[0];
cin >> a[1];
cin >> a[2];
cin >> a[3];
cin >> a[4];
cout << a[4] << ' ';
cout << a[3] << ' ';
cout << a[2] << ' ';
cout << a[1] << ' ';
cout << a[0] << "\n";
return 0;
}-
想像陣列是由很多有編號的變數所組成的
-
宣告陣列名稱[元素數量]
-
使用者可以用索引值去取值
-
a[n]中括號中的值表示元素的「索引值」,由0開始算起
-
範例:int a[10];
-
表示a[0]~a[9]
陣列 (array)
#include <iostream>
using namespace std;
int main(){
int a[5];
for(int i = 0 ; i < 5 ; i++){
cin >> a[i];
//1 2 3 4 5
}
for(int j = 4 ; j >= 0 ; j--){
cout << a[j] << ' ';
//5 4 3 2 1
}
return 0;
}- 陣列可以配合for迴圈一起實作:
題目們
TOI新手組題解
Clay Pot Rice
#include <iostream>
using namespace std;
int main(){
int T, G, W, E, B;
while(cin >> T >> G >> W >> E >> B){
int sum = 0;
sum = (G + W + E + B);
if(T >= sum){
cout << sum << "\n";
}
else{
cout << -1 << "\n";
}
}
return 0;
}BBQ
#include <iostream>
using namespace std;
int main(){
int N, M, X, Y, A, B;
while(cin >> N >> M >> X >> Y){
A = (Y * M - N) / (Y - X);
B = (X * M - N) / (X - Y);
if((M == (A + B)) && (A > 0) && (B > 0)){
cout << A << ' ' << B << "\n";
}
else{
cout << "-1 -1\n";
}
}
return 0;
}Supermarket
#include <iostream>
using namespace std;
int main(){
int a[3], temp;
while(cin >> a[0] >> a[1] >> a[2]){
int s[3] = {0}, min = 100000000, min_i;
for(int i = 0 ; i < 3 ; i++){
for(int k = 0 ; k < a[i] ; k++){
if(k > 0){
s[i] += 2;
}
cin >> temp;
s[i] += temp*3;
}
if(s[i] < min){
min = s[i];
min_i = i+1;
}
}
cout << min_i << ' ' << min;
}
return 0;
}結束啦~
C++基礎語法到此結束!
下一節會是月來上函式與遞迴~
回去要多練習題目喔!
C++中午小社第五堂
By d11130110周月蘅
C++中午小社第五堂
- 456