哪位高人帮忙检查一下这个c++程序错在哪啦?/

来源:百度知道 编辑:UC知道 时间:2024/06/03 15:56:57
#include<iostream.h>
void main()
{
int a[50],i,sum=0,j;
float ave;
cout<<"input"<<endl;
for(i=0;;i++)
{ cin>>a[i];
if(a[i]<0)
break;
}
for(i=0;a[i]!='\0';i++)
j=i;
for(i=0;i<=j;i++)
if(a[i]%2==0)
sum=sum+a[i];
ave=1.0*sum/(j+1);
cout<<"ave="<<ave<<endl;
}

for(i=0;a[i]!='\0';i++)这句。

int 型的数组怎么会以 \0 结束? 只有char类型的才可以

你可以在输入的时候定义一个标记变量 k 表示数组元素个数

如 int k = 0;
for(i=0;;i++)
{
cin>>a[i];
k++;
if(a[i]<0)
break;
}

晕。
楼主可以更简单的。
当i加到某一个值时,你是知道这个值的。
你只要
for (int j=0; j<i; j++)
if ()
..
..
..