文章
1
粉丝
0
获赞
8
访问
308
运用计数数组来处理:
#include <stdio.h>
int main(){
int n,k;
while(scanf("%d",&n)!=EOF){
int x[n];
for(int i=0;i<n;i++){
scanf("%d",&x[i]);
}
scanf("%d",&k);
int count=0;
int num[10000]={0}; //假设数值小于10000
for(int i=0;i<n;i++){
num[x[i]]=1; //标记出现的数字
}
for(int i=0;i<10001;i++){ //从小到大遍历找第k大的数
if(num[i]==1){
count++;
}
if(count==k){
printf("%d",i); //输出第k大的数
break;
}
}
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发