为了账号安全,请及时绑定邮箱和手机立即绑定

冒泡法,为什么输出来的结果一直不对? 求大神

#include<stdio.h>

int main()

{    int i,j,temp;

int score[]={67,98,75,63,82,79,81,91,66,84};

 for(j=0;j<9;j++)              

for(i=0;i<9-j;i++)           

if(score[i]>score[i+1])

{

//int temp;

temp=score[i];                   // 中间是冒泡法求得从低到高排序; 

score[i]==score[i+1];

score[i+1]=temp;

printf("\n");

for(j=0;j<10;j++)

printf("%d",score[j]);

return 0;

}


正在回答

1 回答

找了半天,不厚道地笑了~~找一找,这2行代码有何不同

score[i]==score[i+1];
score[i]=score[i+1];

发现了没?上面的比下面的多了=。C语言中,==是等于的意思,=是赋值的意思。也就说你原先的代码把数组后面的值都给赋值为98(数组里下标为1的值是98)。

0 回复 有任何疑惑可以回复我~
#1

qq_就此别过_0 提问者

恩恩哈哈。谢谢,谢谢,非常感谢
2015-07-30 回复 有任何疑惑可以回复我~
#2

Perona 回复 qq_就此别过_0 提问者

嗯,把==改成=就可以了。加油!不用客气~~
2015-07-30 回复 有任何疑惑可以回复我~
#3

qq_就此别过_0 提问者 回复 Perona

恩恩,嘿嘿。
2015-07-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

冒泡法,为什么输出来的结果一直不对? 求大神

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信