新手求解 c++如何输入一组数以回车作为结束
c++吧
全部回复
仅看楼主
level 1
xiaocai159753 楼主
如何把一组数输入数组(我事先不知道有多少个数)
数由键盘输入,空格隔开,回车结束输入。
请大家帮忙,先谢谢了。
2012年05月04日 01点05分 1
level 1
事先总要有个最大数量的限制,比如10或者20之类的,不能超过这个数量。
输入前要根据这个数字建立一个静态数组存放你输入的数据,
不会要求你用链表之类的动态结构完成这种输入吧。
const int MAX_SIZE = 10;
int arr[MAX_SIZE} = {0} //声明数组并初始化
int i;
for (i = 0; i < MAX_SIZE; i++)
{
cin >> arr[i]; //接受数据,假定用户输入的一定是数字,没判断是否合法输入
if (cin.get() == '\n') //读取一个字符,判断是否回车,是就退出循环
break;
}
完成的时候i就是你输入数据的个数.
因为 cin >> a 输入后不会丢弃回车,所以可以读取一个字符来判断是否回车,这样就满足题目的要求。

2012年05月04日 01点05分 2
level 1
上面声明数组的地方漏了个分号
话说自己帖子写错了,不能修改的吗??
2012年05月04日 01点05分 3
level 1
xiaocai159753 楼主
我实现不知道多少啊,我想的是先输入一组数然后确定它的个数
2012年05月04日 02点05分 4
level 1
不会要求按照读取一整行字符串,然后解析字符串的要求来做这个题的。
实在不行,你设置那个最大数1000还不够??
键盘输1000个数字,累死出题的人。
2012年05月04日 03点05分 5
level 1
xiaocai159753 楼主
明白了,这个是不可能实现的,因为在输入之前根本就无法知道数的个数,因为数组的个数是不确定的,这个是已知条件。个数是未知的,也就无法申请一个数组。只能用动态链表。
2012年05月04日 05点05分 6
level 1
xiaocai159753 楼主
谢谢啊!明白了
2012年05月04日 05点05分 7
level 12
[打酱油]
2012年05月04日 06点05分 8
1