欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

P1138 第k小整数

程序员文章站 2022-05-14 20:29:50
...

P1138 第k小整数
题目描述
现有nn个正整数,n≤10000n≤10000,要求出这nn个正整数中的第kk个最小整数(相同大小的整数只计算一次),k≤1000k≤1000,正整数均小于3000030000。

输入格式
第一行为nn和kk; 第二行开始为nn个正整数的值,整数间用空格隔开。

输出格式
第kk个最小整数的值;若无解,则输出“NO RESULT”。

输入输出样例
输入
10 3
1 3 3 7 2 5 1 2 4 6
输出
3
说明/提示
n≤10000

排序问题,先去重再排序

#include<stdio.h>
int main(){
	int i,j,k,n,temp,x,time,judge=0;
	i=k=j=n=temp=time=x=0;
	scanf("%d%d",&n,&k);
	int num[n];
	for(i=0;i<n;++i){
		num[i]=0;
	}
	for(i=0,j=0;i<n;i++){
		scanf("%d",&temp);
		if(i==0){
			num[j]=temp;
			j++;
		}
		else{
			judge=0;
			for(x=0;x<i;++x){
				if(num[x]==temp){
					judge++;
					break;
				}
			}
			if(judge==0){
				num[j]=temp;
				j++;
			}
		}
	}
	if(k>j){
		printf("NO RESULT\n");
		goto loop;
	}
	for(i=0;i<j;i++){
		for(x=i+1;x<j;x++){
			if(num[i]>num[x]){
				temp=num[i];
				num[i]=num[x];
				num[x]=temp;
			}
		}
	}
	printf("%d\n",num[k-1]);
	loop:return 0;
}
相关标签: C语言