c语言对从键盘输入的十个整数进行降序排序,排序后输出第二大的数,编写fun函数

如题所述

排序有挺多方法的,例如:冒泡排序法、选择排序法

以下使用选择排序

#include <stdio.h>

void fun(int a[], int n)
{
    int i,j,k,tmp;
    for(i=0;i<n-1; i++)
    {
        k=i;
        for(j=i+1;j<n;++j)
            if(a[j]>a[k]) k=j;
            if(k!=i)
            {
            tmp=a[k];a[k]=a[i];a[i]=tmp;
            }
    }
}

int main()
{
    int a[10];
    int i;
    for(i=0; i<10; i++) scanf("%d", &a[i]);
    fun(a,10);
    for(i=0; i<10; i++) printf("%d\n", a[i]);
    printf("第二大的数是:%d",a[1]);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答