小仙女


私信TA

用户名:tyq123

访问量:3148

签 名:

有一个女孩想软件开发。

等  级
排  名 5441
经  验 1541
参赛次数 7
文章发表 7
年  龄 18
在职情况 学生
学  校 湖南警察学院
专  业 计算机科学与技术

  自我简介:

解题思路:  获取最大值 - 获取最小值 ,直接判断

注意事项: 注意排好序 

参考代码:

#include<stdio.h>

int isprime(int k)                              // isprime判断 是否 为 质数 

{

int i ;

if(k<2) return 0 ;                             // 如果小于 2 肯定不是 质数 ,直接返回 

for (i = 2 ; i*i <= k ; i++)

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

return 1;

}

int fun(int n , int k )

{

int i , j , a[n] ;

int max , min ;

for (i = 0 ; i < n ; i++)

  scanf("%d" ,&a[i]) ;                              // 获取 数据 

for (i = 0 ; i < n ; i++)

for (j = i ; j < n ; j++)

   if(a[i]>a[j]){ max = a[i] ; a[i] = a[j] ; a[j] = max ; }                  // 比较法排序  

min = a[k-1] ;                                                                               // 获取 最小值 

max = a[n-k] ;                                                                              // 获取 最大值  

if(isprime(max-min)) printf("%s\n%d","YES",max-min) ;      //函数调用 判断 

   else printf("%s\n%d","NO",max-min) ;

}

int main()

{

int n , k ;

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

fun(n,k) ;


 

0.0分

0 人评分

  评论区

#include<stdio.h>
int su(long n)
{
	int i,j;
	if(n<2)
		return 0;
	for(i=2;i<=n;i++)
		if(n%i==0)
			break;
	if(i==n)
		return 1;
	else
		return 0;
}
int main()
{
	int i,j,k,n;
	long a[10002],t;
	char c[5]="YES",b[5]="NO";
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n-1;i++)
		for(j=i+1;j<n;j++)
		{
			if(a[i]>a[j])
			{
				t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
		}
	t=a[n-k]-a[k-1];
	if(t)
		printf("%s\n%d\n",c,t);
	else
		printf("%s\n%d\n",b,t);
	return 0;
}
那我这个为啥不过啊,还错误75%??????
2019-05-05 20:55:07
  • «
  • 1
  • »