一道三级上机题

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:14:13
求教:三级上机考试题 {
int i, yy[MAX];
for(i=0;i<1000;i++)
if(xx[i]%2)
{
odd++;
ave1+=xx[i];
yy[odd-1]=xx[i];
}
else
{
even++;
ave2+=xx[i];
}
ave1/=odd;
ave2/=even;
for(i=0;i<odd;i++)
totfc+=(yy[i]-ave1)*(yy[i]-ave1)/odd;
}
请问:语句yy[odd-1]=xx[i];放入else语句中 即else
{
even++;
ave2+=xx[i];
yy[odd-1]=xx[i];
}
这时运行结果有何不同??我的机子没显示错误,请高手指教!!谢谢!!!

if(xx[i]%2)
{
odd++;
ave1+=xx[i];
yy[odd-1]=xx[i];
}
中的yy[odd-1]=xx[i];是指当xx[i]为奇数时,将xx[i]存入yy数组中

而如果把yy[odd-1]=xx[i];放到else{}中,是指当xx[i]为偶数时,将xx[i]存入数组中

yy数组里存的都是奇数的数字,如果你放进去了就有偶数的了,所以不对啊。