注册 登录
编程论坛 C语言论坛

排序基础问题

c小白2333 发布于 2019-08-29 20:45, 1880 次点击
简单的排序都不会了。。。
程序代码:

#include <stdio.h>
void Traverce(int a[], int n);
void Sort(int a[], int n);
int main(void)
{
    int a[5] = { 7, 3 , 8, 4, 5 };
    Sort(a, 5);
    Traverce(a, 5);
    return 0;
}
void Traverce(int a[], int n)
{
    for (int i = 0; i < n; i++)
        printf("%d  ", a[i]);
}
void Sort(int a[], int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 1; j < n; j++)
        {
            if (a[j] < a[i])
            {
                int t = a[j];
                a[j] = a[i];
                a[i] = t;
            }
        }
    }
}

3  8  7  5  4
C:\Users\94497\source\repos\实验\Debug\实验.exe (进程 8380)已退出,返回代码为: 0。
按任意键关闭此窗口...
3 回复
#2
c小白23332019-08-29 20:48
额  我已经找到原因了
暂时不结贴  分送有缘人了
新手可以看看
#3
沈和2019-08-29 22:42
这样替换,是不是啊。

// for (int j = 1; j < n; j++)
for (int j = i+1; j < n; j++)
#4
c小白23332019-08-30 19:23
回复 3楼 沈和
是的
1