如何在程序中输入多组数据?(C++)
2017-03-18 21:23
183 查看
这里以一个简单的题目开始
输入多组数据,再把它们输出,先输入一个数,接下来的一行输入这么多个数
(注意这里不知道会输入几组数据)
效果如图
错误代码一:只能输入一组,不能再输入
这里错在用了if,没有用while
结果如图:
错误代码二:可以输入多组数据,但是输入一个显示一个 ,也不满足要求
这里和上面唯一的区别就是把if改成了while
结果如图:
正确代码:
结果如图:
OK成功,可以输入多组数据的关键点是要有个东西存储就可以,这里在最外面定义了个array数组存(很重要)
另外数据如果要输出的话,则一定要知道要输出多少行,以及每行有多少个数字,
所以这里另外定义了一个 b数组,来记录每一行有多少个数
另外注意,用了while会一直保持输入的状态,结束要按Ctrl+Z才能结束,如上图,最后因为按了才结束的,不然没法结束(图上显示^Z) 不明白这一点的可以参照在while中使用cin>>a 为条件,注意事项
应用:输入多组数据后进行相应的操作,其实也很简单,只要在循环里处理就好,不懂可以看看这个题目最大乘积
输入多组数据,再把它们输出,先输入一个数,接下来的一行输入这么多个数
(注意这里不知道会输入几组数据)
效果如图
错误代码一:只能输入一组,不能再输入
这里错在用了if,没有用while
#include<iostream> using namespace std; int main() { int currVal=0; if(cin>>currVal) //表示要输入多少个数字 { int a[currVal]; for(int i=0;i<currVal;i++)//接下来输入这么多个数字 { cin>>a[i]; } cout<<"输出"<<endl; for(int i=0;i<currVal;i++) { cout<<a[i]<<" "; } cout<<endl; } return 0; }
结果如图:
错误代码二:可以输入多组数据,但是输入一个显示一个 ,也不满足要求
这里和上面唯一的区别就是把if改成了while
#include<iostream> using namespace std; int main() { int currVal=0; while(cin>>currVal) //表示要输入多少个数字 { int a[currVal]; for(int i=0;i<currVal;i++)//接下来输入这么多数 { cin>>a[i]; } cout<<"输出"<<endl; for(int i=0;i<currVal;i++) { cout<<a[i]<<" "; } cout<<endl; } return 0; }
结果如图:
正确代码:
#include<iostream> using namespace std; int array[100][100]; int b[100];//用b来记录每一行有多少个数字,方便之后的输出 int cnt=0; int main() { int currVal=0,val=0; while(cin>>currVal) //表示要输入多少个数字 { for(int i=0;i<currVal;i++)//接下来输入这么多数字 { cin>>array[cnt][i]; //存入array数组 } b[cnt]=currVal;//用b来记录每一行有多少个数字,方便之后的输出 cnt++; } for(int i=0;i<cnt;i++)//输出每组数据 { for(int j=0;j<b[i];j++) { cout<<array[i][j]<<" "; } cout<<endl; } return 0; }
结果如图:
OK成功,可以输入多组数据的关键点是要有个东西存储就可以,这里在最外面定义了个array数组存(很重要)
另外数据如果要输出的话,则一定要知道要输出多少行,以及每行有多少个数字,
所以这里另外定义了一个 b数组,来记录每一行有多少个数
另外注意,用了while会一直保持输入的状态,结束要按Ctrl+Z才能结束,如上图,最后因为按了才结束的,不然没法结束(图上显示^Z) 不明白这一点的可以参照在while中使用cin>>a 为条件,注意事项
应用:输入多组数据后进行相应的操作,其实也很简单,只要在循环里处理就好,不懂可以看看这个题目最大乘积
相关文章推荐
- java程序中,数据验证,如何判断输入的文本框中的值是不是int型?
- C++程序将串口或USB数据输入计算机
- C/C++中输入多组数据的方法
- 编写C/C++程序时如何输入带空格的字符串
- sublime text直接运行python程序时,如何在控制台输入数据?
- 关于C++/C 输入一行整型数据,数量不定问题,如何读入
- 如何输入多组测试数据
- (c++)设圆半径r,圆柱高h 求圆周长C1、圆面积Sa、圆球表面积Sb、圆球体积Va、圆柱体积Vb。 用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 PI=3
- 如何调试需要输入参数的C++程序
- 你好,C++(5)如何输出数据到屏幕、从屏幕输入数据与读写文件?
- C++如何在程序运行中获得int等数据类型的最大值
- Java 如何像C/C++输入数据
- Java程序如何输入数据
- 运行hadoop程序,如何在map中获取输入数据的全路径(fullpath)
- (转载)你好,C++(5)如何输出数据到屏幕、从屏幕输入数据与读写文件?
- C/C++中输入多组数据方法
- 如何快速的知道程序中输入的大段数据哪一行没有被正确执行或输出
- 如何输入多组测试数据(Output Limit Exceeded错误)
- VC6 C++控制台程序如何判断用户输入的是什么数字[必须小于128]?
- ACM入门------C语言中如何实现多组数据输入输出