首页 > 编程知识 正文

当今技术最头疼的问题,劳务输出工作存在问题

时间:2023-05-04 11:34:38 阅读:285821 作者:3386

OnlineJudge输入输出问题

通常来说OJ对于每道题里面有.in和.out文件,分别表示测试数据的输入和输出。如果某些编程题的所有数据都只做在一个.in和一个.out中,这样就会变成多组测试了,所以需要提交的代码中循环处理。
其实这个问题可以避免,就是编程题后台每个样例做一组对应的.in和.out文件,这样就变成单组测试,代码就不需要循环处理,但是平时练习的题目质量不一,这个问题都会出现。
下面列出了几种常见的输入输出格式:

几种常见输出如输出类型 case1

【问题描述】
输入描述 :
输入有两行,第一行n
第二行是n个空格隔开的字符串
输出描述 :
输出一行排序后的字符串,空格隔开,无结尾空格
例子:
5
c d a bb e
【示例代码】

void str_case1(){vector<string> str;int num;cin >> num;for (int i = 0; i < num; i++){string temp;cin >> temp;str.push_back(temp);}sort(str.begin(), str.end());for (int i = 0; i < str.size(); i++)cout << str[i] << " ";} case2

【问题描述】
输入描述:
多个测试用例,每个测试用例一行。

每行通过空格隔开,有n个字符,n<100

输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
示例1:
输入
a c bb
f dddd
nowcoder
输出:
a bb c
dddd f
nowcoder
【示例代码】

void str_case2(){string s;while (getline(cin, s)){vector<string> str;stringstream ss;ss << s;string temp;while (getline(ss, temp, ' ')){str.push_back(temp);}sort(str.begin(), str.end());for (int i = 0; i < str.size(); i++)cout << str[i] << " ";cout << endl;}} case3

【问题描述】
输入描述:
输入数据有多组, 每行表示一组输入数据。

每行不定有n个整数,空格隔开。(1 <= n <= 100)。

输出描述:
每组数据输出求和的结果
示例1
输入
1 2 3
4 5
0 0 0 0 0
输出
6
9
0
【示例代码】

void num_case3(){string str;while (getline(cin, str))// 一行一行的读取 { stringstream ss(str);int sum = 0;int v;// 每行不知道有几个整数,通过stringstream来循环读取while (ss >> v) {sum += v;}cout << sum << endl;}/*//或者可用stoistring str;while(getline(cin,str)){stringstream ss;ss<<str;string temp;int sum=0;while(getline(ss,temp,' ')){sum+=stoi(temp);}cout<<sum<<endl;}*/} case4

【问题描述】
输入描述:
输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入
4 1 2 3 4
5 1 2 3 4 5
输出
10
15
【示例代码】

void num_case4(){int num;while (~scanf("%d", &num))// while(cin>>num)也行{int sum = 0;for (int i = 0; i < num; i++){int a;scanf("%d", &a);sum += a;}printf("%dn", sum);}} case5

【问题描述】
输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
接下来t行, 每行一组数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入
2
4 1 2 3 4
5 1 2 3 4 5
输出
10
15
【示例代码】

void num_case5(){int n;scanf("%d", &n);for (int i = 0; i < n; i++)//或者 while(~scanf("%d", &n)){int num = 0;scanf("%d", &num);int sum = 0;for (int i = 0; i < num; i++){int a = 0;scanf("%d", &a);sum += a;}printf("%dn", sum);}}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。