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

来源:6-12 综合练习

qq_就此别过_0

2015-07-29 13:53

#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回答

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

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

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

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

    qq_就此别... 回复Perona

    恩恩,嘿嘿。

    2015-07-30 17:21:53

    共 3 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926025 学习 · 20793 问题

查看课程

相似问题