牛客网笔试C++输入输出
2021/8/27 20:37:02
本文主要是介绍牛客网笔试C++输入输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 函数相关知识
- 输入数字
- 1 输入包括两个正整数a,b,输入数据包括多组
- 2 先输入组数n,再输入每组数据a和b
- 3 输入包括两个正整数a,b,输入数据包括多组,如果输入为0则结束输入
- 4 输入多组数据,每组第一个数为该组数据个数n,n为0时结束输入
- 5 先输入组数,再输入每组数据,每组第一个数为该组数据个数
- 6 输入多组数据,每组第一个数为该组数据个数n
- 7 输入多组数据,每行表示一组数据,每组数据个数不定√√
- 输入字符串
- 8 输入有两行,第一行n,第二行是n个空格隔开的字符串
- 9 多个测试用例,每个测试用例一行,字符串间空格隔开
- 10 多个测试用例,每个测试用例一行,字符串间逗号隔开
- 11 自测本地通过提交为0
函数相关知识
-
cin将数据存放到temp里面,并且进行好了类型转换,也就是说如果temp是int,那么输入的数据就会转化成int,如果是string类型,那么就将输入的数据转换成string类型,然后存入到temp里面:
-
cin>>输入的数据不包含空格和回车,空格和回车会存入到cin的缓冲区中
-
如果想拿到输入的空格和回车,通过cin.get()获得
-
cin读取的每个数据以空格和回车分隔
-
cin.get()则是读取每个字符/数,包括空格和回车
-
-
while(cin >> value)
-
在while循环中,cin只有在遇到文件结束符(end-of-file),或遇到一个无效输入时(例如输入的值不是一个整数),cin的状态会变为无效退出循环。
-
从键盘输入文件结束符(end-of-file):
-
在Windows系统中,输入文件结束符的方法是按Ctrl+Z,然后按Enter或Return键。
-
在Unix系统中,包括在Mac OS X系统中,文件结束符输入Ctrl+D
-
-
输入数字
1 输入包括两个正整数a,b,输入数据包括多组
int main() { int a, b; while(cin >> a >> b) { cout << a+b << endl; } return 0; }
2 先输入组数n,再输入每组数据a和b
int main(){ int n, a, b; cin >> n; for(int i = 0; i < n; ++i) { cin >> a >> b; cout << a + b << endl; } return 0; }
3 输入包括两个正整数a,b,输入数据包括多组,如果输入为0则结束输入
int main(){ int a, b; while(cin >> a >> b){ if(a == 0 && b == 0) break; cout << a + b << endl; } return 0; }
4 输入多组数据,每组第一个数为该组数据个数n,n为0时结束输入
// 方式1 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; } } // 方式2 #include<iostream> using namespace std; int main(){ int n, a; while(cin >> n){ if(n == 0)break; int sum = 0; for(int i=0; i<n; ++i){ cin >> a; sum += a; } cout << sum << endl; } return 0; }
5 先输入组数,再输入每组数据,每组第一个数为该组数据个数
#include<iostream> using namespace std; int main(){ int group, num; cin >> group; for(int i = 0; i < group; ++i){ cin >> num; int a; int sum = 0; for(int j = 0; j < num; ++j){ cin >> a; sum += a; } cout << sum <<endl; } }
6 输入多组数据,每组第一个数为该组数据个数n
#include<iostream> using namespace std; 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; } }
7 输入多组数据,每行表示一组数据,每组数据个数不定√√
#include<iostream> using namespace std; int main(){ int sum=0, a; while(cin >> a){ sum += a; if(cin.get() == '\n'){ // 判断数据之间的间隔是不是换行 cout << sum <<endl; sum = 0; } } }
输入字符串
8 输入有两行,第一行n,第二行是n个空格隔开的字符串
#include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; 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; }
9 多个测试用例,每个测试用例一行,字符串间空格隔开
#include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; 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; }
10 多个测试用例,每个测试用例一行,字符串间逗号隔开
#include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; 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; }
11 自测本地通过提交为0
#include<iostream> using namespace std; int main(){ long a, sum=0; while(cin >> a){ sum += a; if(cin.get() == '\n'){ // 数据和数据之间不是换行,则是同组数据 cout << sum <<endl; sum = 0; } } return 0; }
这篇关于牛客网笔试C++输入输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享