注册 登录
编程论坛 C++教室

[求助]如何读取一排一排的整数

tancui 发布于 2007-05-19 16:56, 1145 次点击
比如:
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 7 8 9 0
上面是两组数,在程序执行时输入,一排用一个int 数组保存
10 回复
#2
yushui2007-05-19 17:02

循环阿

#3
tancui2007-05-19 17:09
不知道每一排的个数
就是如何判断一排已经结束

[此贴子已经被作者于2007-5-19 17:11:25编辑过]

#4
wfpb2007-05-19 17:23
把一行按字符串读出。然后变成整数数组。
getline()
#5
raulxxyuer2007-05-19 17:31
#6
kisscjy2007-05-19 18:27
以下是引用tancui在2007-5-19 17:09:38的发言:
不知道每一排的个数
就是如何判断一排已经结束

呵呵~~~

#include <iostream>
using namespace std;

void main()
{
int a[100]={12,161,231,48,13};

for(int i=0;a[i]!='\0';i++)
{
cout<<a[i]<<'\t';
}
}

因为数组在结束时会自动添加\0字符,
所以可以以此作为判断~~

#7
aipb20072007-05-20 17:20
以下是引用kisscjy在2007-5-19 18:27:48的发言:

呵呵~~~

#include <iostream>
using namespace std;

void main()
{
int a[100]={12,161,231,48,13};

for(int i=0;a[i]!='\0';i++)
{
cout<<a[i]<<'\t';
}
}

因为数组在结束时会自动添加\0字符,
所以可以以此作为判断~~

你把你的数组加个0再试试结果。

数组不会在末尾加空字符,除了一个例外,那就是char c[] = "cstring"时。
这里只是把空字符转换为0了,因为你初始化时,后面没显示初始化的都是值初始化,为0!

#8
kisscjy2007-05-20 21:27
呵呵,说错了~~~

谢谢aipb2007帮我改正错误
#9
aipb20072007-05-20 21:33

呵呵~~~~~~
#10
tancui2007-05-20 23:04
getline(cin,s)
再判断是不是==“ ”
再一个一个换为int
是这样吧,还有没有其它方法
#11
kisscjy2007-05-20 23:48

你可以尝试一下这个函数:

#include<iostream>
using namespace std;
void main()
{
int num;
int *b=new int[num];
cout<<"输入数组,输入任意字母结束!"<<endl;
for(int i=0;cin.fail()!=1;i++)
{
cin>>b[i];
if(cin.fail()==1) //当输入不是数字的时候,数组结束
{
num=i;
cin.clear();
cin.sync();
break;
}
}
for(i=0;i<num;i++)
{
cout<<b[i]<<'\t';
}


}

1