解题思路:

1.  cmp  函数:

 这是一个用于比较两个整数大小的比较函数,用于  qsort  函数进行快速排序。它返回两个指针所指向的整数的差值,用于确定排序的顺序。

2.  f  函数:

用于判断一个整数是否为质数。如果整数小于 2 则不是质数,返回 0 。对于大于等于 2 的数,通过遍历从 2 到该数减 1 ,检查是否能整除,如果能整除则不是质数,返回 0 ,否则返回 1 表示是质数。

3.  main  函数:

首先读取两个整数  n  和  k  。

然后通过一个循环读取  n  个整数存入数组  a  。

使用  qsort  函数对数组  a  进行快速排序。

计算  a[n - k] - a[k - 1]  的差值并存储在  m  中。

调用  f(m)  函数判断  m  是否为质数,如果是则输出  YES  ,否则输出  NO  。

最后输出  m  的值。

注意事项:

参考代码:

#include<stdio.h>

#include<stdlib.h>

int cmp(const void *a,const void *b){

    return *(int *)a-*(int *)b;

}

int f(int n){//判断质数

    int i;

    if(n<2)return 0;

    else{

        for(i=2;i<n;i++){

            if(n%i==0)return 0;

        }

        return 1;

    }

}

int main(){

    int n,a[10005],k,i,j,m;

    scanf("%d%d",&n,&k);

    for(i=0;i<n;i++)scanf("%d",&a[i]);

    qsort(a,n,sizeof(int),cmp);//快速排序

    m=a[n-k]-a[k-1];

    if(f(m)==1)printf("YES\n");

    else printf("NO\n");

    printf("%d",m);

    return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论