注意:>> 是會過濾掉不可見字符(如 空格 回車,TAB 等)
cin.get(字符變量名)可以用來接收字符
1、輸入數據包括多組。
每組數據一行,每行的第一個整數爲整數的個數n(1 <= n <= 100), n爲0的時候結束輸入。
接下來n個正整數,即需要求和的每個正整數。
#include<iostream>
using namespace std;
int main()
{
int n;
while (cin >> n) {
if (n == 0) break;
int a;
int sum = 0;
for (int i = 0; i < n; ++i) {
cin >> a;
sum += a;
}
cout << sum << endl;
}
return 0;
}
輸入
4 1 2 3 4
5 1 2 3 4 5
0
輸出
10
15
2、輸入包括兩個正整數a,b,輸入數據包括多組。
#include<iostream>
using namespace std;
int main(){
int a,b;
while(cin>>a>>b){
cout<<a+b<<endl;
}
return 0;
}
輸入
1 5
10 20
輸出
6
30
3、輸入第一行包括一個數據組數t,接下來每行包括兩個正整數a,b
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
for(int i = 0;i<n;i++){
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
return 0;
}
輸入
2
1 5
10 20
輸出
6
30
4、輸入的第一行包括一個正整數t, 表示數據組數。
接下來t行, 每行一組數據。
每行的第一個整數爲整數的個數n。
接下來n個正整數, 即需要求和的每個正整數。
#include<iostream>
using namespace std;
int main()
{
int t;
cin >> t;
for (int i = 0; i < t; ++i) {
int n;
while (cin >> n) {
int a;
int sum = 0;
for (int i = 0; i < n; ++i) {
cin >> a;
sum += a;
}
cout << sum << endl;
}
}
return 0;
}
輸入
2
4 1 2 3 4
5 1 2 3 4 5
輸出
10
15
5、輸入數據有多組, 每行表示一組輸入數據。
每行不定有n個整數,空格隔開。
#include<iostream>
using namespace std;
int main()
{
int n;
int sum = 0 ;
while(cin >> n ){
sum += n;
if(cin.get() == '\n') {
cout << sum << endl;
sum = 0;
}
}
return 0 ;
}
輸入
1 2 3
4 5
0 0 0 0 0
輸出
6
9
0
6、對輸入的字符串進行排序後輸出
輸入有兩行,第一行n
第二行是n個空格隔開的字符串
輸出一行排序後的字符串,空格隔開,無結尾空格
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int main(){
int n;
cin>>n;
vector<string> str;
for(int i = 0;i<n;i++){
string a;
cin>>a;
str.push_back(a);
}
sort(str.begin(),str.end());
for(int i = 0;i<n;i++){
cout<<str[i]<<" ";
}
return 0;
}
輸入
5
c d a bb e
輸出
a bb c d e
7、對輸入的字符串進行排序後輸出
輸入描述:多個測試用例,每個測試用例一行。
每行通過空格隔開,有n個字符,n<100
輸出描述:對於每組測試用例,輸出一行排序過的字符串,每個字符串通過空格隔開
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
string s;
vector<string> m;
while (cin >> s) {
m.push_back(s);
if (cin.get() == '\n') {
sort(m.begin(), m.end());
for (int i = 0; i < m.size(); i++) {
cout << m[i] << " ";
}
cout << endl;
m.clear();
}
}
return 0;
}
輸入
a c bb
f dddd
nowcoder
輸出
a bb c
dddd f
nowcoder
8、對輸入的字符串進行排序後輸出
輸入描述:多個測試用例,每個測試用例一行。
每行通過,隔開,有n個字符,n<100
輸出描述:對於每組用例輸出一行排序後的字符串,用’,'隔開,無結尾空格
#include<vector>
#include<algorithm>
#include <iostream>
#include<string>
#include<sstream>
using namespace std;
int main()
{
string s;
vector<string> str;
while (getline(cin, s)) {
string b;
stringstream a(s); //a(s) 表示a是s的一個拷貝
while (getline(a, b, ','))
str.push_back(b);
sort(str.begin(), str.end());
cout << str[0];
int n = str.size();
for (int i = 1; i < n; ++i) {
cout << ',' << str[i];
}
cout << endl;
str.clear();
}
return 0;
}
輸入
a,c,bb
f,dddd
nowcoder
輸出
a,bb,c
dddd,f
nowcoder
getline(cin,s)
getline(a,b,‘c’)
第三個參數是指定結束符吧,有一個默認值,爲’\n’