SiriBlog

siriyang的个人博客


  • 首页

  • 排行榜

  • 标签115

  • 分类37

  • 归档320

  • 关于

  • 搜索

C/C++数据输入练习

发表于 2020-03-16 更新于 2021-10-29 分类于 计算机 , 算法题 , 技术 , C/C++ 阅读次数: Valine:
本文字数: 3.4k 阅读时长 ≈ 3 分钟

A+B I

题目地址

  此题只要求用户求A+B的和,第一行会提前告诉你有几组数据,然后第二行开始到结束为测试用例。

样例输入

1
2
3
2
1 2
3 4

样例输出

1
2
3
7

C语言

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
int main()
{
int n;
int a,b;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
}
return 0;
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
int n;
int a,b;
cin>>n;
while(n--)
{
cin>>a>>b;
cout<<a+b<<endl;
}
return 0;
}

A+B II

题目地址

  依然是A+B,但此类题目往往说明测试数据有多组但没说具体有几组。则默认是到文件(后台测试用例在文件里)末尾结束EOF,如果手动在控制台输入则没有EOF。我们则可以采用循环的方式不断接收测试用例,并且每接收一组输出一组(不必全部输入再全部输出,因为OJ只比对一次最后的结果)。

样例输入

1
2
1 2
3 4

样例输出

1
2
3
7

C语言

1
2
3
4
5
6
7
8
#include<stdio.h>
int main()
{
int a,b;
while(~scanf("%d%d",&a,&b)) //利用scanf的返回值
printf("%d\n",a+b);
return 0;
}

C++

1
2
3
4
5
6
7
8
9
#include<iostream>
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b)
cout<<(a+b)<<endl;
return 0;
}

A+B III

题目地址

  继续是A+B,不同的是题目中说明,有多组数据,但是以A和B都为0时结束,则此时,就要做判断。不能依然输出0。

样例输入

1
2
3
1 2
3 4
0 0

样例输出

1
2
3
7

C语言

1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
int main()
{
int a,b;
while(~scanf("%d%d",&a,&b))
{
if(a==0&&b==0)
break;
printf("%d\n",a+b);
}
return 0;
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
int a,b;
while(true)
{
cin>>a>>b;
if(a==0&&b==0)
break;
cout<<a+b<<endl;
}
return 0;
}

A+B IV

题目链接

  此类题目是求n个数的和,输第一行会提前告诉你有几组数据,然后第二行开始到结束为测试用例,且每行第一个数字代表该行之后有多少个数字要求和。

样例输入

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

样例输出

1
2
10
15

C语言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int k;
scanf("%d",&k);
int sum=0;
for(int i=0;i<k;i++){
int t;
scanf("%d",&t);
sum+=t;
}
printf("%d\n",sum);
}
return 0;
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int k;
cin>>k;
int sum=0;
for(int i=0;i<k;i++){
int t;
cin>>t;
sum+=t;
}
cout<<sum<<endl;
}
return 0;
}

A+B V

题目链接

  此类题目是求n个数的和,输入为先输入一个n,然后后面跟n个数字,求这n个数字的和。同样有多组数据,当n=0时结束。

样例输入

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

样例输出

1
2
10
15

C语言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
int main()
{
int n;
while(1)
{
scanf("%d",&n);
if(n==0)
break;
int sum=0;
for(int i=0;i<n;i++){
int t;
scanf("%d",&t);
sum+=t;
}
printf("%d\n",sum);
}
return 0;
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
int n;
while(true)
{
cin>>n;
if(n==0)
break;
int sum=0;
for(int i=0;i<n;i++){
int t;
cin>>t;
sum+=t;
}
cout<<sum<<endl;
}
return 0;
}

A+B VI

题目链接

  输入有若干行数据,但没告诉你具体有几行。每行第一个数字代表该行之后有多少个数字要求和。

样例输入

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

样例输出

1
2
10
15

C语言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int main()
{
int n;
while(~scanf("%d",&n))
{
int sum=0;
for(int i=0;i<n;i++){
int t;
scanf("%d",&t);
sum+=t;
}
printf("%d\n",sum);
}
return 0;
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int sum=0;
for(int i=0;i<n;i++){
int t;
cin>>t;
sum+=t;
}
cout<<sum<<endl;
}
return 0;
}
参考资料
  • 『ACM入门』蓝桥杯ACM训练系统基本输入输出教程
-------- 本文结束 感谢阅读 --------
相关文章
  • OpenCV3使用中遇到的一些问题
  • Qt使用中遇到的一些问题
  • C++编程遇到的问题
  • 基于Qt的工业名牌识别系统遇到的问题
  • VisualStudio一个解决方案中创建多个项目
觉得文章写的不错的话,请我喝瓶怡宝吧!😀
SiriYang 微信支付

微信支付

SiriYang 支付宝

支付宝

  • 本文标题: C/C++数据输入练习
  • 本文作者: SiriYang
  • 创建时间: 2020年03月16日 - 21时03分
  • 修改时间: 2021年10月29日 - 18时10分
  • 本文链接: https://blog.siriyang.cn/posts/20200316215357id.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
学习笔记 C/C++
《C语言程序设计(第五版)谭浩强》课后习题答案源码
《桥梁建筑师传送门》图文攻略
  • 文章目录
  • 站点概览
SiriYang

SiriYang

努力搬砖攒钱买镜头的摄影迷
320 日志
33 分类
88 标签
RSS
GitHub E-Mail
Creative Commons
Links
  • 友情链接
  • 作品商铺

  1. A+B I
  2. A+B II
  3. A+B III
  4. A+B IV
  5. A+B V
  6. A+B VI
蜀ICP备19008337号 © 2019 – 2025 SiriYang | 1.7m | 25:41
0%