问答详情
源自:6-12 综合练习

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

#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;

}


提问者:qq_就此别过_0 2015-07-29 13:53

个回答

  • Perona
    2015-07-30 13:17:43
    已采纳

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

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

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