N个数中第k个最大者

#include<stdio.h>
#include<stdlib.h>

void bubbleSort(int arr[],int n)
{
    int i,j;
    for(i=n-1;i>0;i--)
        for(j=n-2;j>=n-i-1;j--)
        {
            if(arr[j+1]>arr[j])
            {
                int temp=arr[j+1];
                arr[j+1]=arr[j];
                arr[j]=temp;
            }
        }
}
void main()
{
    int arr[8]={1,6,3,5,2,7,9,8};
    int i,n;
    scanf("%d",&n);
    for(i=0;i<8;i++)
        printf("%d ",arr[i]);
    printf("\n");
    bubbleSort(arr,8);
    for(i=0;i<8;i++)
        printf("%d ",arr[i]);
    printf("\n");
    printf("%d\n",arr[n-1]);
}

首先,使用冒泡排序进行降序排序之后,取第k个元素。

 

posted @ 2014-06-16 14:17  Jessica程序猿  阅读(263)  评论(0编辑  收藏  举报