C++的简单编程问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 06:21:30
我有这样一个程序,要实现若干个数的输入和输出
运行的时候老出现错误(循环好像有点问题),高手解答下,谢谢
#include<iostream>
using namespace std;
void main()
{
int a[80],i=0,j;
while(a[i]!='\n')
{
cin>>a[i];
i++;
}
for(j=0;j<i;j++)
{
cout<<a[i]<<endl;
}
}

因为cin >> a[i];中,cin获取不到空格符以及回车符,a[i]永远不会为'\n',所以程序出错

另外,while循环式先判断括号里的条件,第一次你还输入,怎么判断?

可以这么写:

#include<iostream>
using namespace std;

void main()
{
int a[80],i=0,j;
while(cin>>a[i]) //以ctrl+z结束输入
{

i++;
}
for(j=0;j<i;j++)
{
cout<<a[j]<<endl; //输出的是数组的元素,是j不是i
}
}

a[0]=0;
while(a[i]!='\n')
{
cin>>a[i];
i++;
}

声明有问题,不应声明为int型数组,a【i】永远不会为'\n',所以就成了死循环,应该改为,while(i<80),就可以了

#include<iostream>
using namespace std;
void main()
{
int a[80],i=0,j;
while(a[i]!='\n' && i<80)
/*你这需要加个条件 不然数组越界,而且是死循环 或者改成 while(i<80)*/
{
cin>>a[i];
i++;
}
for(j=0;j<i;j++)
{
cout<<a[j]<<endl; //这儿应该是j 不是i
}
}

do {
c