#include <stdio.h>
void mp_sort(int *c,int n,int p,int q);
/********** Begin **********/
int main()
{
int zd_num,i,num;
scanf("%d %d",&num,&zd_num);
int a[num];
for(i=0;i<num;i++)
{
scanf("%d",&a[i]);
}
mp_sort(a,num/2,0,num/2-1);
mp_sort(a,num/2,num/2,num-1);
if(a[num/2-1]<a[num/2])
{
printf("第%d小的元素是%d",zd_num,a[zd_num-1]);
}
else
{
mp_sort(a,num,0,num-1);
printf("第%d小的元素是%d",zd_num,a[zd_num-1]);
}
return 0;
}
void mp_sort(int *c,int n,int p,int q)
{
int item,k,m;
for(k=p;k<q;k++)
{
for(m=p+1;m<=q;m++)
{
if(c[k]>c[m])
{
item=c[k];
c[k]=c[m];
c[m]=item;
}
}
}
}
/********** End **********/
请问各位C语言,分治法找出数组中第 k 个小的元素,我错在哪儿,该怎么改呢。能够输出,但是输出结果错误
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持