愷龍 发表于 2021-3-23 21:58:07

这个冒泡排序为什么结果出错

对10个数进行排序:
#include <stdio.h>
int main(){
        int i,j,n,m,b;
        int a;
        for(i=0;i<10;i++){
                scanf("%d",&a);
        }
        for(m=0;m<10;m++){
                for(j=0;j<10;j++){
                if(a>a){
                        n=a;
                        a=a;
                        a=n;
                }
          }
        }
        for(b=0;b<10;b++){
                printf("%d\n",a);
        }
        return 0;
}
结果中12变成了345是怎么回事
https://img.imgdb.cn/item/6059f3c28322e6675c65e76c.jpghttps://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

hallo___ 发表于 2021-3-23 22:20:00

a,意思是储存9个数据,你改成a再试试。

shiwobuhaoma 发表于 2021-3-23 22:36:45

我刚开始看的时候,没发现出什么问题
后来我把你写的代码和输入的数字在我的环境中测试了一遍,也没出现你截图的问题。
代码是对的

愷龍 发表于 2021-3-24 06:47:01

shiwobuhaoma 发表于 2021-3-23 22:36
我刚开始看的时候,没发现出什么问题
后来我把你写的代码和输入的数字在我的环境中测试了一遍,也没出现你 ...

for循环错了https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

愷龍 发表于 2021-3-24 06:47:36

hallo___ 发表于 2021-3-23 22:20
a,意思是储存9个数据,你改成a再试试。

一方面数组定义错了,另一方面最重要的是for循环错了https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif
页: [1]
查看完整版本: 这个冒泡排序为什么结果出错