发布网友 发布时间:2022-10-04 01:07
共1个回答
热心网友 时间:2023-10-12 14:34
#include <stdlib.h>
#include <stdio.h>
void paixu(int *nums,int len)
{
int i = 0;
int j = 0;
int temp;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-i-1; j++)
{
if(nums[j]<nums[j+1])
{
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
}
/////////////////////////////////////////////////////////
int get_kth_largest(int *nums, int k) {
int i=0;
int j = 0;
int *p = nums;
if (k>=1)
{
while(p != NULL && *p != -1)
{
p++;
i++;
}
if (k>i)
{
return -1;
}
else
{
paixu(nums,i);
return nums[k-1];
}
}
return -1;
}
//////////////////////////////////
//测试
int main()
{
int mm[]={2,3,4,1,8,6,7,5,9,-1};
int n = 0;
scanf("%d", &n);
printf("第%d大的数是%d", n,get_kth_largest(mm,n));
getchar();
return 0;
}
结果如下: int mm[]={2,3,4,1,8,6,7,5,9,-1};