2 qq 34614890 qq_34614890 于 2016.04.30 18:23 提问

C++这个程序哪有错误,哪有大神看看

//================================================================//
//对数组a[0:8]=[3,2,6,5,9,4,7,1,8]计算所有元素的名次,并存于数组r //
//================================================================//
//(有问题)
int main(int r[])
{

int a[9] = { 3, 2, 6, 5, 9, 4, 7, 1, 8 };
int i,j;
for (i = 0;i < 9;i++)
r[i] = 0 ;

for (i = 0;i <9;i++)
{ 
    for (j = 0;j < 9;j++)
    {
        if (a[j]<=a[i]) r[i]++;
        else r[j]++;

    }

}
cout << r[i];
return 0;

}

6个回答

smile950624
smile950624   2016.04.30 19:18
已采纳

else行去掉,输出的cout添上for循环

zhinlang
zhinlang   2016.04.30 18:25

1)else 那行去掉 ; 2) cout<<那行放入上面个花括号内。 输出的是从小到大。

zhinlang
zhinlang 回复qq_34614890: 按照你的想法,边统计边输出;做当前i就可以了。其它不需要,当然如果你做了,实际上是破坏你的想法。
一年多之前 回复
qq_34614890
qq_34614890 回复zhinlang: 啊,懂了,还有就是else那行为什么要去掉呢谢谢了
一年多之前 回复
zhinlang
zhinlang 回复qq_34614890: r数组为开辟,造成了指针悬挂。 可能产生运行错误。
一年多之前 回复
qq_34614890
qq_34614890 回复zhinlang: 对了,这是为什么呢
一年多之前 回复
zhinlang
zhinlang 回复qq_34614890: 把main函数中的参数,删掉。 把 int i,j;修改为 :int i,j,r[9];
一年多之前 回复
qq_34614890
qq_34614890 程序编译时通过的,可是一运行就出现程序已停止
一年多之前 回复
ljheee
ljheee   Rxr 2016.04.30 19:22

cout放入花括号内

sinat_32079337
sinat_32079337   2016.04.30 21:11

将你的cout放入到for循环内

qq_34614890
qq_34614890   2016.04.30 18:23

RT

ZGZ1002
ZGZ1002   2016.05.02 14:43

倒数第二行,应该用循环输出,因为你那是个数组

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!