求会写考试算法设计的友友们!!

怎么写求整型数组A[n]第k个最小元素 有没有简单点的 孩子要考试了

最简单的就是从小到大排序之后取数组第k个元素就行了
要减少循环新次数可以只把前k个元素序好即可

你题目的解答代码如下:

#include<stdio.h>
#include<string.h>

void main()
{
    int n,k,i,j;
    printf("请输入数组长度:");
    scanf("%d", &n);
    printf("请输入%d个数组元素:",n);
    int a[n];
    for( i=0; i<n; i++ )
        scanf("%d", &a[i]);
    printf("请输入k:");
    scanf("%d", &k);

    for(i=0;i<k;i++)
        for(j=i+1;j<n;j++)
            if(a[i] > a[j])
            {
                int t = a[j];
                a[j] = a[i];
                a[i] = t;
            }
    for(i=0;i<n;i++)
        printf("%d ", a[i]);
    printf("\n第%d个最小元素是:%d",k, a[k-1]);
}

img

如有帮助,望采纳!谢谢!

从小到大排序就好了啊。然后A[k]就是了

Arrays.sort(数组名字);
return 数组名字[K-1];