C/C++中输入多组数据方法
2017-07-31 10:58
169 查看
如果在刚开始学习算法,做算法题的时候,题上经常会要求输入多组数据,对于刚开始学习的小白来说,可能不知道怎么算输入多组数据,也不知道该怎么处理,刚好想起来,就把方法记录一下
上面是使用C语言的的方法,把输入语句作为while循环的判断条件,当输入数据不是文件结束符(EOF)的时候,就可以实现连续输入
方法二是用C++for循环实现,将输入语句作为for循环的condition部分,而expression部分省略不写,因为条件部分能改变i的值,所以这个循环无需表达式部分,其中,条件部分不断检查输入流的内容,只要读取完所有的输入或者遇到一个输入错误就终止循环
方法三和方法二类似,使用istream对象作为循环的判断条件,检测流的状态。如果流是有效的,即流未遇到错误,那么检测成功。当遇到文件结束符(EOF)或者遇到一个无效输入时istream对象的状态就会变为无效。处于无效状态的istream对象会使条件变假
怎么算输入多组数据?
一般题中要求输入多组数据的意思就是读取数量不定的输入数据(不能确定输入数据的数量),在这种情况下,需要不断读取数据直至没有新的输入为止。方法一:
#include <stdio.h> int main() { int a; while(scanf("%d",&a)!=EOF) { printf("%d\n",a); } return 0; }
上面是使用C语言的的方法,把输入语句作为while循环的判断条件,当输入数据不是文件结束符(EOF)的时候,就可以实现连续输入
方法二:
#include <iostream> using namespace std; int main() { for(int i;cin>>i;) { cout << i << endl; } return 0; }
方法二是用C++for循环实现,将输入语句作为for循环的condition部分,而expression部分省略不写,因为条件部分能改变i的值,所以这个循环无需表达式部分,其中,条件部分不断检查输入流的内容,只要读取完所有的输入或者遇到一个输入错误就终止循环
方法三:
#include <iostream> using namespace std; int main() { int a; while(cin>>a) { cout << a << endl; } return 0; }
方法三和方法二类似,使用istream对象作为循环的判断条件,检测流的状态。如果流是有效的,即流未遇到错误,那么检测成功。当遇到文件结束符(EOF)或者遇到一个无效输入时istream对象的状态就会变为无效。处于无效状态的istream对象会使条件变假
相关文章推荐
- C/C++中输入多组数据的方法
- C++输入多组数据的方法
- Java实现OJ多组测试数据的输入方法
- OJ常用动态数据输入方法 C++简单的栈编写及使用
- 如何在程序中输入多组数据?(C++)
- c++多组数据输入
- 关于C++ 从命令行输入数据 常用输方法cin的一些理解总结
- C++ 输入数据方法总结
- C++数据个数未知情况下的输入方法
- 客户端缓存某些重要用户输入数据的一种方法
- 非均匀取样数据的功率谱估计方法 --c++实现
- [原] C#泛型实现流中C/C++格式的struct数据的通用读取方法
- C++向fortran的assumed array传递数据的方法
- [原创] 一种页面数据错误输入提示方法
- 一种页面数据错误输入提示方法 【转】
- C++中的数据类型转换方法
- 一个使用c++在lua中创建自定义数据类型的简易方法
- C++中不需要打回车就可以输入数据的函数
- C++ 里面get和getline输入方法
- Oracle表数据的C/C++存取方法