C++筆試輸入輸出

注意:>> 是會過濾掉不可見字符(如 空格 回車,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’

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章