TA的每日心情 | 鬱悶 2015-2-10 21:23 |
---|
簽到天數: 1 天 [LV.1]初來乍到
高級會員
- 積分
- 779
|
樓主 |
發表於 2014-4-27 08:35:30
|
顯示全部樓層
5. 指令式輸入
Input 除最後一行外皆為以下格式:
command a b
command 可能為 max 或 min,a, b 保證為 int
此時請依 command 輸出 a, b 的較大者或較小者。
Input 的最後一行為
quit
代表程式結束
# Sample Input:
max 3 5
min 3 6
min 7 110
max 2 6
quit
# Sample Output:
5
3
7
6
#include <iostream>
using namespace std;
int main() {
string cmd;
while (cin >> cmd) {
if (cmd == "quit") break;
int a, b;
cin >> a >> b;
if (cmd == "max")
cout << max(a, b) << endl;
else // cmd = "min"
cout << min(a, b) << endl;
}
return 0;
}
6. string 整行輸入
多筆測資,每筆測資只有一行,請反轉該行後輸出。
# Sample Input
test time tokyo
reverse -1
# Sample Output
oykot emit tset
1- esrever
#include <iostream>
#include <algorithm>
int main() {
string inp;
while (getline(cin, inp)) {
reverse(inp.begin(), inp.end());
cout << inp;
}
return 0;
}
7. 如何處理多餘字元
常有題目的 input 會出現不需要的字元,例如:
多筆測資,每筆資只有一行,格式為:
a, b
保證 a, b 為 int,請輸出較大者。
# Sample Input:
2, 3
-4, -1
# Sample Output:
3
-1
此時我們可以利用 cin 讀入時的特性:會根據變數來決定讀入的內容。
先讀入一個 int 再讀入一個字元把逗號吃掉,再讀入一個 int,這樣就可以正確的讀入了。
#include <iostream>
using namespace std;
int main() {
int a, b;
char comma;
while (cin >> a >> comma >> b) {
cout << max(a, b) << endl;
}
return 0;
}
|
|