目录

  • 原题链接
  • 1.计算a+ba+ba+b,任意组数据任意结尾
  • 2.计算a+ba+ba+b,指定组数据
  • 3.计算a+ba+ba+b,任意组数据以0 0结尾
  • 4.计算行数据和,每行数据总数已知,总行数未知但以0结尾
  • 5.计算行数据和,每行数据总数已知,总行数已知
  • 6.计算行数据和,每行数据总数已知,总行数未知且任意结尾
  • 7.计算行数据和,每行数据总数未知,总行数未知且任意结尾
  • 8.字符串排序,已知字符串数量
  • 9.字符串排序,未知字符串数量,多组数据
  • 10.字符串排序,未知字符串数量,每个字符串以逗号分隔
  • 11.计算a+ba+ba+b,但有坑

原题链接

https://ac.nowcoder.com/acm/contest/5657#question

https://www.nowcoder.com/test/27976983/summary

1.计算a+ba+ba+b,任意组数据任意结尾

链接:https://ac.nowcoder.com/acm/contest/5657/A
来源:牛客网

数据范围: 数据组数1≤t≤1001\le t\le 1001≤t≤100 , 数据大小满足1≤n≤10001 \le n\le 10001≤n≤1000
输入包括两个正整数a,b(1≤a,b≤1000)a,b(1\le a, b \le 1000)a,b(1≤a,b≤1000),输入数据包括多组。

输出描述:
输出a+ba+ba+b的结果

输入样例:

1 5
10 20

输出样例:

6
30

代码:

#include<iostream>
using namespace std;
int a,b;
int main(){while(cin>>a>>b){cout<<a+b<<endl;}
}

说明:while(cin>>a>>b)可以反复输入,直到没有读取到输入结束

2.计算a+ba+ba+b,指定组数据

链接:https://ac.nowcoder.com/acm/contest/5657/B
来源:牛客网

数据范围:数据组数满足1≤t≤1001 \le t \le 1001≤t≤100 ,数据大小满足1≤a,b≤10001 \le a,b \le 10001≤a,b≤1000

输入描述:
输入第一行包括一个数据组数t(1≤t≤100)t(1 \le t \le100)t(1≤t≤100)
接下来每行包括两个正整数a,b(1≤a,b≤1000)a,b(1 \le a, b \le 1000)a,b(1≤a,b≤1000)

输出描述:
输出a+ba+ba+b的结果

输入样例:

2
1 5
10 20

输出样例:

6
30

代码:

#include<iostream>
using namespace std;
int t;
int main(){cin>>t;while(t--){int a,b;cin>>a>>b;cout<<a+b<<endl;}
}

3.计算a+ba+ba+b,任意组数据以0 0结尾

链接:https://ac.nowcoder.com/acm/contest/5657/C
来源:牛客网

数据范围:数据组数满足1≤t≤1001 \le t \le 1001≤t≤100, 数据大小满足1≤n≤1001 \le n \le 1001≤n≤100

输入描述:
输入包括两个正整数a,b(1≤a,b≤109)a,b(1 \le a, b \le 10^9)a,b(1≤a,b≤109),输入数据有多组, 如果输入为000 000则结束输入

输出描述:
输出a+b的结果

输入样例:

1 5
10 20
0 0

输出样例:

6
30

代码:

#include<iostream>
using namespace std;
int a,b;
int main(){while(cin>>a>>b&&a&&b){cout<<a+b<<endl;}
}

说明:while(cin>>a>>b&&a&&b)在读取完ababab数值后检测ababab是否为0,同时为0则跳出循环

4.计算行数据和,每行数据总数已知,总行数未知但以0结尾

链接:https://ac.nowcoder.com/acm/contest/5657/D
来源:牛客网

题目描述 :
计算一系列数的和

数据范围:数据组数满足1≤t≤1001 \le t \le 1001≤t≤100,每组数据中整数个数满足1≤n≤1001 \le n \le 1001≤n≤100,每组数据中的值满足 1≤val≤1001 \le val \le 1001≤val≤100

输入描述:
输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1≤n≤100)n(1 \le n \le 100)n(1≤n≤100),nnn为000的时候结束输入。
接下来nnn个正整数,即需要求和的每个正整数。

输出描述:
每组数据输出求和的结果

输入样例:

4 1 2 3 4
5 1 2 3 4 5
0

输出样例:

10
15

代码:

#include<iostream>
#include<string>
#include<cstring>
#include<sstream>
using namespace std;
int t;
int main(){while(cin>>t&&t){int sum=0;int num=0;for(int i=0;i<t;i++){cin>>num;sum+=num;}cout<<sum<<endl;}return 0;
}

说明:while(cin>>t&&t)判断当前读取数据是否为0,为0则跳出循环

5.计算行数据和,每行数据总数已知,总行数已知

链接:https://ac.nowcoder.com/acm/contest/5657/E
来源:牛客网

题目描述:
计算一系列数的和

数据范围:数据组数满足1≤t≤1001 \le t \le 1001≤t≤100,每组数据中的整数个数满足1≤n≤1001 \le n \le 1001≤n≤100 ,每个数据大小满足 1≤val≤1001 \le val \le 1001≤val≤100

输入描述:
输入的第一行包括一个正整数t(1≤t≤100)t(1 \le t \le 100)t(1≤t≤100), 表示数据组数。
接下来ttt行, 每行一组数据。
每行的第一个整数为整数的个数n(1≤n≤100)n(1 \le n \le 100)n(1≤n≤100)。
接下来nnn个正整数, 即需要求和的每个正整数。

输出描述:
每组数据输出求和的结果

输入样例:

2
4 1 2 3 4
5 1 2 3 4 5

输出样例:

10
15

代码:

#include<iostream>
using namespace std;
int main(){int t;cin>>t;while(t--){int n,num=0,sum=0;cin>>n;for(int i=0;i<n;i++){cin>>num;sum+=num;}cout<<sum<<endl;}
}

6.计算行数据和,每行数据总数已知,总行数未知且任意结尾

链接:https://ac.nowcoder.com/acm/contest/5657/F
来源:牛客网

题目描述:
计算一系列数的和

数据范围: 1≤n≤10001 \le n \le 10001≤n≤1000 , 所有数都满足 1≤val≤10001 \le val \le 10001≤val≤1000

输入描述:
输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n(1≤n≤100)n(1 \le n \le 100)n(1≤n≤100)。
接下来nnn个正整数, 即需要求和的每个正整数。

输出描述:
每组数据输出求和的结果

输入样例:

4 1 2 3 4
5 1 2 3 4 5

输出样例:

10
15

代码:

#include<iostream>
#include<string>
#include<cstring>
#include<sstream>
using namespace std;
int t;
int main(){while(cin>>t){int sum=0;int num=0;for(int i=0;i<t;i++){cin>>num;sum+=num;}cout<<sum<<endl;}return 0;
}

说明:同样的,用while(cin>>t)读取数据

7.计算行数据和,每行数据总数未知,总行数未知且任意结尾

链接:https://ac.nowcoder.com/acm/contest/5657/G
来源:牛客网

题目描述:
计算一系列数的和

输入描述:
输入数据有多组, 每行表示一组输入数据。
每行不定有nnn个整数,空格隔开。(1≤n≤100)(1 \le n \le 100)(1≤n≤100)。

输出描述:
每组数据输出求和的结果

输入样例:

1 2 3
4 5
0 0 0 0 0

输出样例:

6
9
0

代码:

#include<sstream>
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
string s;
int main(){while(getline(cin,s)){stringstream sstream(s);int sum=0,num=0;while(sstream>>num)sum+=num;cout<<sum<<endl;}
}

说明:stringstream类可以把字符串转化为输入流,然后从输入流中读取数据。getline(cin,s)可以一次性读取自带空格的一行数据。sstream>>numcin>>num类似,但是是从刚才转化出的字符串流而不是键盘/文件中读取数据。

8.字符串排序,已知字符串数量

链接:https://ac.nowcoder.com/acm/contest/5657/H
来源:牛客网

题目描述:
对输入的字符串进行排序后输出

输入描述:
输入有两行,第一行nnn
第二行是nnn个字符串,字符串之间用空格隔开

输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格

输入样例:

5
c d a bb e

输出样例:

a bb c d e

代码:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<string> vs;
int main(){string s;int n;cin>>n;for(int i=0;i<n;i++){cin>>s;vs.push_back(s);}sort(vs.begin(),vs.end());for(int i=0;i<n-1;i++)cout<<vs[i]<<" ";cout<<vs[n-1];
}

说明:用vector<string>暂存输入的字符串

9.字符串排序,未知字符串数量,多组数据

链接:https://ac.nowcoder.com/acm/contest/5657/I
来源:牛客网

题目描述
对输入的字符串进行排序后输出

输入描述:
多个测试用例,每个测试用例一行。
每行通过空格隔开,有nnn个字符,n<100n<100n<100

输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开

输入样例:

a c bb
f dddd
nowcoder

输出样例:

a bb c
dddd f
nowcoder

代码:

#include<iostream>
#include<vector>
#include<sstream>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
string s;
vector<string> vs;
int main(){while(getline(cin,s)){stringstream sstream(s);vs.clear();string temps;while(sstream>>temps)vs.push_back(temps);sort(vs.begin(),vs.end());for(auto str:vs)cout<<str<<" ";cout<<endl;}
}

说明:同样的,用getline(cin,s)读取自带空格的数据,用stringstream创建字符串流。

10.字符串排序,未知字符串数量,每个字符串以逗号分隔

链接:https://ac.nowcoder.com/acm/contest/5657/J
来源:牛客网

题目描述:
对输入的字符串进行排序后输出

输入描述:
多个测试用例,每个测试用例一行。
每行通过,隔开,有nnn个字符,n<100n<100n<100

输出描述:
对于每组用例输出一行排序后的字符串,用’,'隔开,无结尾空格

输入样例:

a,c,bb
f,dddd
nowcoder

输出样例:

a,bb,c
dddd,f
nowcoder

代码(个人版)不是最优解

#include<iostream>
#include<cstring>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
vector<string> vs;
int main(){string lines;while(getline(cin,lines)){vs.clear();while(lines.find(',')!=string::npos){vs.push_back(lines.substr(0,lines.find(',')));lines=lines.substr(lines.find(',')+1);}vs.push_back(lines);sort(vs.begin(),vs.end());int n=vs.size();cout<<vs[0];for(int i=1;i<n;i++)cout<<","<<vs[i];cout<<endl;}
}

说明:反复调用find()和substr不断找逗号,不断把字符串截短。输出时先输出第0项,之后输出逗号和当前项,防止出现行末空格和多余逗号。

代码(牛客网上最优解
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=52627787

#include <bits/stdc++.h>
using namespace std;
int main(){string s;while(getline(cin, s)){stringstream ss(s);vector<string> v;while(getline(ss, s, ',')) v.push_back(s);sort(v.begin(), v.end());for(int i=0;i<v.size()-1;++i) cout<<v[i]<<',';cout<<v.back()<<endl;}return 0;
}

说明:getline(ss,s,ch)可以从字符串流ss中将字符串读入s,这个字符串默认以\n结尾,但可以通过参数指定为以ch结尾。

11.计算a+ba+ba+b,但有坑

链接:https://ac.nowcoder.com/acm/contest/5657/K
来源:牛客网

数据范围: 0<a,b<2×10100 < a,b < 2 \times 10^{10}0<a,b<2×1010

输入描述:
输入有多组测试用例,每组空格隔开两个整数

输出描述:
对于每组数据输出一行两个整数的和

输入样例

1 1

输出样例

2

代码:

#include<iostream>
using namespace std;
int main(){long long a,b;while(cin>>a>>b)cout<<a+b<<endl;
}

说明:十年OI一场空,不开long long见祖宗。

牛客网输入输出练习c++ 个人版题解相关推荐

  1. JavsScript牛客网华为机试(11-20)题解

    牛客网华为机试题解JavaScript版本 华为机试第11-20题解答(js) 11.数字颠倒 12.字符串反转 13.句子逆序 14.字符串排序 15.求int型数据在内存中存储时1的个数 16.购 ...

  2. 牛客网输入输出(Java)总结

    由于自己笔试失利,痛定思痛之后决定总结一下牛客的输入输出问题,以免再次败北- 预备知识 Windows中的Enter键相当于回车(\r)+换行(\n),分别完成将光标移到行首.移到下一行的功能: ne ...

  3. 牛客网剑指Offer C++题解

    [二维数组中的查找]:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是 ...

  4. 牛客网剑指offer——Java题解

    剑指offer JZ1 二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...

  5. 牛客网输入输出-python

    记一下老忘 1. 一行数字输入为数组 2. 多行数字输入为数组 3. 输入一行数组 4. 给一行带逗号的数字,输入为数组 1. 一行数字输入为数组 1 2 3 4 5 6 nums = list(ma ...

  6. JavaScript_牛客网_编程初学者入门训练(21-30题解)

    牛客网编程初学者入门训练题解JavaScript版本 编程初学者入门训练第21-30题解答(js) 22.你能活多少秒 25.计算体重指数 26.计算三角形的周长和面积 27.计算球体体积 28.大小 ...

  7. JavaScript_牛客网_编程初学者入门训练(131-140题解)

    牛客网编程初学者入门训练题解JavaScript版本 编程初学者入门训练第131-140题解答(js) 131.KiKi学程序设计基础 132.KiKi算期末成绩 133.KiKi说祝福语 134.K ...

  8. 牛客网【每日一题】7月8日 Alliances

    来源:牛客网 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld ...

  9. 牛客网sql题库(1-30题)—— 个人答案与过程解析

    本篇博客分享一下我在牛客网sql题库刷题时,自己敲出来的结果.结果均通过了牛客网的结果验证. 具体的题目就不放在博客中了,感兴趣可以自行去搜索牛客网,找到sql题库在线编程 每道题下面都有我自己写的题 ...

最新文章

  1. DRF——路由控制器
  2. 邵阳学院计算机科学与技术专业分最低,邵阳学院在湖南各专业录取最低分/最低位次...
  3. 搞定Linux Shell文本处理工具,看完这篇集锦就够了(转)
  4. python对数组的操作_Python对数组的基本操作
  5. 3文件提取器_奇淫巧技 | 快速批量提取 PPT 中所有图片素材方法
  6. vs2005打点不提示
  7. XenApp6.5启用3D功能
  8. 【历史上的今天】2 月 1 日:网景浏览器停止支持;id Software 成立;Intel 80286 芯片问世
  9. 解决Vue 2.0在IE11版本浏览器中的兼容性问题
  10. Tbase 源码 (九)
  11. fid和is_【深度学习】生成式对抗网络(GAN)的常见评价指标:IS/FID/JS散度
  12. 带数据库html5游戏教程,html5学习之旅-html5的简易数据库开发(18)-H5教程
  13. python批量处理图片统一尺寸
  14. IDEA从Git 上down 项目报错
  15. 从Alignment 和 Uniformity的角度理解对比表征学习
  16. 洛谷 P3435 [POI2006]OKR-Periods of Words(KMP+记忆化搜索)
  17. 计算机毕业设计 基于SSM的公交线路查询和管理系统
  18. 【学习笔记】dij 费用流 + 势能函数
  19. 四种“不使用第三方变量就可以交换两个变量值”的方法
  20. 《微信小程序七日谈》- 第七天:不要捡了芝麻丢了西瓜

热门文章

  1. Python基础之图像识别
  2. 关于SpringData JPA 查询数据id全部为0的原因
  3. 渗透测试-地基篇-美杜莎Medusa(十二)
  4. python邮件发送
  5. 腾讯正式推出密码保护卡,貌似对火狐用户重视不够
  6. 2021(接近2022)linux(ubuntu16.04)安装cuda跑深度学习步骤以及踩坑过程(ELF标头无效、导入torch后torch.cuda.is_available()为False等等)
  7. ubuntu12.04编译安装crtmpserver
  8. 【植物大战僵尸-2】实现一炮秒杀僵尸
  9. 数据库简介与 Mysql 服务基础
  10. 关于WIN7输入法的小问题