鱼C论坛

 找回密码
 立即注册
查看: 2602|回复: 14

[已解决]新手写的冒泡法算法,不懂为什么结果会这样,错的很离谱但不知道错在哪里

[复制链接]
发表于 2016-1-7 20:05:58 | 显示全部楼层    本楼为最佳答案   
这是根据你的代码改的,改动的两处都做了注释~
#include <stdio.h>
void main()
{
        int a[30] = { 256, 165, 1651, 145, 15, 16515, 784, 8971, 18, 9, 49, 498, 498, 45, 445, 66, 22, 55, 4, 52, 2, 55, 6, 6, 44, 2, 2, 85, 5 };
        int m, n, i;
        for (m = 0; m <= 28; m++)
        {
                //for (n = 0; n <= 28; n++)
                for (n = m; n <= 29; n++)//最大下标是29
                {
                        if (a[n]>a[m])
                        {
                                //i = a[n]; a[n] = a[n + 1]; a[n = 1] = i;
                                //这里应该交换a[m]和a[n]
                                i = a[n];
                                a[n] = a[m];
                                a[m] = i;
                        }
                }
        }
        for (i = 0; i <= 29; i++)
        {
                printf("%5d", a[i]);
        }
}

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-25 03:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表