C语言 大佬们,萌新求助,谢谢!自己测试都行,但只有50分。
查看原帖
C语言 大佬们,萌新求助,谢谢!自己测试都行,但只有50分。
1102188
maozutao楼主2023/11/3 00:23
#include <stdio.h>

int main() {

    int n,k,i,j,t,m=1;
    
    scanf("%d %d",&n,&k);
    char a[100000];//数组长度大于n 
    
    for(i=1;i<=n;i++){
    	scanf("%d",&a[i]);//将数据存入数组		
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=n-i;j++){//将数组从小到大排序 
			if(a[j]>a[j+1]){
				t=a[j+1];
				a[j+1]=a[j];
				a[j]=t;
			} 
		}
	}
	for(i=2;i<=n;i++){//从小到大排过序的数组中
    	if(a[i]!=a[m]){ //前后两项比较,删除重复的数 
    		m++;
    		a[m]=a[i];//最终得到一个m长度的从小到大无重复的数组 
		}
	}
	if(k>m){//共有m个数,k>m时无解 
		printf("NO RESULT");
	}else{
		printf("%d",a[k]);//输出第k小的数 
	}
    return 0;
}
2023/11/3 00:23
加载中...