ACM简单题目中对于连续多组输入的处理方法
来源:互联网 发布:悟空理财 知乎 编辑:程序博客网 时间:2024/05/01 04:31
首先挂一道例题:
这道题中提到了a series of pairs of integers意味着需要输入多组数据进行计算和输出
这里分别给出使用C和C++实现的代码样例
C语言样例:
#include<stdio.h>int main(){int a,b;while(scanf("%d%d",&a,&b)!=EOF)printf("%d\n",a+b);return 0;}
(代码已测试通过)
在C语言中输入函数scanf()具有返回值,函数返回值为int型。
如果a和b都被成功读入,那么scanf的返回值就是2;
如果只有a被成功读入,返回值为1;
如果a和b都未被成功读入,返回值为0;如果遇到错误或遇到end of file,返回值为EOF。
因此可以使用
while(scanf("%d%d",a,b)!=EOF)
来实现多组输入(判断是否遇到错误或end of file)。
//C++样例
#include<iostream>using namespace std;
int main(){int a,b;while(cin>>a>>b)cout<<a+b<<endl;return 0;}
(已测试通过)
cin和scanf()函数略有区别。
首先cin是个对象,没有所谓返回值:
>>输入操作符返回流对象的引用,cin >> x 返回istream&;
cout << x返回oostream&。
但是和scanf()相似的是,可以用if直接判断,如if (cin)
或使用while间接判断,如while (cin >> x)
若流被标记错误(读取失败)就返回false;
ctrl+z,F6可跳出循环,这代表eof(文件结束符);
另外,当在缓冲区读取到的数据与>>后面的变量类型不匹配的时候也会结束。
比如说如果a,b是int的,你如果在下面的cin>>a>>b;里面输入的是非int的(比如说是‘a'或其它)也会结束。
0 0
- ACM简单题目中对于连续多组输入的处理方法
- ACM题目中输入数据的处理(C语言版)
- ACM题目中输入数据的处理(C++版)
- ACM题目中输入数据的处理(C++版)
- ACM题目中输入数据的处理(C++语言版)
- ACM题目中输入数据的处理(C++版)
- ACM题目中输入数据的处理(C++版)
- ACM题目中输入数据的处理(C语言版)
- ACM题目中输入数据的处理(C++版)
- ACM程序设计书中题目--Y(输入字符串输出每个数字连续出现的个数及数字)
- ACM连续输入多组数据问题
- ACM中输入数据的处理
- sql中对于null的处理方法
- 对于字符输入的处理
- acm:对于多组数据输入直到0结束的模板程序
- symfony2中对于输入时间进行查询,时间的处理。
- 一道简单的ACM题目
- 一道简单的acm题目
- ARM GCC 链接错误 引用未定义函数 _read _write _sbrk 解决和重定向
- Java不指定长度的二维数组
- 网教28. 递归
- angularJS 学习记录
- 问题锦集
- ACM简单题目中对于连续多组输入的处理方法
- 如何将uboot里面的参数传给recovery或kernel
- HDU 2063 Investment(多次完全背包)
- UVA 1572 Self-Assembly
- outline使用方法,outline与border的区别
- Coding语言强弱类型的判定
- CSS滑动门
- linux设备驱动--wifi 模式
- UVa - 136 - Ugly Numbers(STL - 优先队列priority_queue)