从键盘任意输入20个整数,用函数编程实现由大到小的排序(用选择法排序)

从键盘任意输入20个整数,用函数编程实现由大到小的排序(用选择法排序)

问题描述:

从键盘任意输入20个整数,用函数编程实现由大到小的排序(用选择法排序)


#include <stdio.h>
int* sort(int a[]){
    int i,j,t;
    for (i = 0; i <= 20; i++){
        for (j = i + 1; j < 20; j++){
            if (a[i] > a[j]) //如果前一个数比后一个数大,则利用中间变量t实现两值互换
            {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
    }
    return a;
}
int main()
{
    int i, j, t,a[20];
    for (i = 0; i < 20; i++){
        scanf("%d", &a[i]);
    }
    int *p;
    p = sort(a);
    for(i = 0;i < 20;i++){
        printf("%d ",p[i]);
    }
    return 0;
}

#include<stdio.h>
#define N 20
int main()
{
    int a[N];
    int i,j,k;
    scanf("输入二十个整数:");
    for(i=0;i<N;i++)
          scanf("%d",&a[i]);
    for(i=0;i<N;i++)
        for(j=i;j<N;j++)
            if(a[i]<a[j])
            {
                k=a[i];
                a[i]=a[j];
                a[j]=k;
            }
    printf("排序后:");
    for(i=0;i<N;i++)
        printf(" %5d ",a[i]);
    return 0;
}