作业帮 > 综合 > 作业

哪位大神帮我看看这个选择排序哪里有问题

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 17:27:31
哪位大神帮我看看这个选择排序哪里有问题
#include"stdio.h"
int main()
{
void paixu(int a[],int n);
int a[10],i;
for(i=0;i
哪位大神帮我看看这个选择排序哪里有问题
#include"stdio.h"
void paixu(int a[],int n);
int main()
{
    int a[10], i;
    for(i = 0;i < 10; i++)
        scanf("%d", &a[i]);
    paixu(a, 10);
    printf("\n");
    for(i = 0; i < 10; i++)
        printf("%d ", a[i]);
    return 0;
}
void paixu(int a[], int n)
{
    int c, t, i, j, b;
    c = 0;
    for(j = 0; j < n; j++)
    {
        b = a[j];   //b = a[0]改成这样
        for( i = j + 1; i < n; i++) //从j后一直到n,开始比较
            if(a[i] > b)
            {
                b = a[i];   //b保存比a[j]大的元素
                c = i;
            }
        if(b != a[j])  //如果后面有比a[j]大的则交换,否则不用
        {
            t = a[c];   //此处微调
            a[c] = a[j];
            a[j] = t;
        }
    }
}