cin将数据存放到temp里面,并且进行好了类型转换,也就是说如果temp是int,那么输入的数据就会转化成int,如果是strin类型,那么就将输入的数据转换成string类型然后存入到temp里面,cin>>输入的数据不包含空格和回车,空格和回车会存入到cin的缓冲区中,如果想拿到输入的空格和回车,通过cin.get()获得。
A+B(1)
要求
输入两个正整数,求两个数的和
输入:
1 5
10 20
输出:
6 30
int main() {
int a, b;
while(cin >> a >> b) {
cout << a+b << endl;
}
return 0;
}
A+B(2)
要求
输入第一行包括一个数据组数t,接下来每行包括两个正整数a,b,输出a+b
输入
2
1 5
10 20
输出
6
30
int main(){
int n, a, b;
cin >> n;
for(int i = 0; i < n; ++i) {
cin >> a >> b;
cout << a + b << endl;
}
return 0;
}
A+B(3)
要求
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输入
1 5
10 20
0 0
输出
6
30
int main(){
int a, b;
while(cin >> a >> b){
if(a == 0 && b == 0) break;
cout << a + b << endl;
}
return 0;
}
A+B(4)
要求
输入数据包括多组。每组数据一行,每行的第一个整数为整数的个数n, n为0的时候结束输入。接下来n个正整数,即需要求和的每个正整数。
输入
4 1 2 3 4
5 1 2 3 4 5
0
输出
10
15
int main(){
int n;
while(cin >> n&&n>0){
int sum=0, num;
for(int i=0;i<n;i++){
cin >> num;
sum+=num;
}
cout << sum << endl;
}
}
A+B(5)
要求
输入的第一行包括一个正整数t, 表示数据组数。接下来t行, 每行一组数据。每行的第一个整数为整数的个数n。接下来n个正整数, 即需要求和的每个正整数。
输入
2
4 1 2 3 4
5 1 2 3 4 5
输出
10
15
int main(){
int n, num;
cin >> n;
for(int i = 0; i < n; ++i){
cin >> num;
int a;
int sum = 0;
for(int j = 0; j < num; ++j){
cin >> a;
sum += a;
}
cout << sum <<endl;
}
}
A+B(6)
要求
输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n。接下来n个正整数, 即需要求和的每个正整数。
输入
4 1 2 3 4
5 1 2 3 4 5
输出
10
15
int main(){
int n;
while(cin>>n){
int sum=0, num;
for(int i=0;i<n;i++){
cin >> num;
sum += num;
}
cout << sum << endl;
}
return 0;
}
A+B(7)
要求
输入数据有多组, 每行表示一组输入数据。每行不定有n个整数,空格隔开。
输入
1 2 3
4 5
0 0 0 0 0
输出
6
9
0
int main(){
int sum = 0;
int a;
while(cin >> a){
sum += a;
if(cin.get() == '\n'){
cout << sum << endl;
sum = 0;
}
}
return 0;
}
字符串排序(1)
要求
输入有两行,第一行n。第二行是n个空格隔开的字符串。
输入
5
c d a bb e
输出
a bb c d e
int main(){
int n;
cin >> n;
string s;
vector<string> res;
for(int i = 0; i < n; ++i){
cin >> s;
res.push_back(s);
}
sort(res.begin(), res.end());
for(auto s : res){
cout << s << ' ';
}
return 0;
}
字符串排序(2)
要求
多个测试用例,每个测试用例一行。每行通过空格隔开,有n个字符。
输入
a c bb
f dddd
nowcoder
输出
a bb c
dddd f
nowcoder
int main(){
string s;
vector<string> ans;
while(cin >> s){
ans.push_back(s);
if(cin.get()=='\n'){
sort(ans.begin(),ans.end());
for(auto s:ans){
cout << s << " ";
}
cout << endl;
ans.clear();
}
}
return 0;
}
字符串排序(3)
要求
多个测试用例,每个测试用例一行。每行通过,隔开,有n个字符。
输入
a,c,bb
f,dddd
nowcoder
输出
a,bb,c
dddd,f
nowcoder
int main(){
string s;
vector<string> ans;
char a;
while(cin.get(a)){
if(a!=','&&a!='\n'){
s = s + a;
}
if(a==','){
ans.push_back(s);
s.clear();
}
if(a=='\n'){
ans.push_back(s);
s.clear();
int n = ans.size();
sort(ans.begin(),ans.end());
for(int i=0;i<n-1;i++){
cout << ans[i] << ",";
}
cout << ans[n-1] << endl;
ans.clear();
}
}
return 0;
}