qq_29472221 2018-01-12 02:49 采纳率: 75%
浏览 2120
已采纳

区间K大数查询(蓝桥杯)

图片说明

#include
#define MAXSIZE 1000

void swap(int *a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}

void quicksort(int a,int left,int right)
{
int p,low,high,i;//基准值
p=a[left];
if(left {
low=left;
high=right+1;
while(1)
{
do high--;
while(!(p>=a[high]||high==left));
do low++;
while(!(p<=a[low]||low==right));
if(low<high)
swap(&a[low],&a[high]);
else
break;
}
swap(&a[left],&a[high]);
quicksort(a,left,high-1);
quicksort(a,high+1,right);
}
/
for(i=left;i<right+1;i++)
{
printf("%d ",a[i]);
}
printf("\n");*/
}

int quicksort_K_MAX(int *a,int l,int m,int k)
{
quicksort(a,l,m);
return a[m-k+1];

}

int main()
{
int n,a[MAXSIZE],b[MAXSIZE],i,m,j,k,l;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d%d%d",&j,&k,&l);
b[i]=quicksort_K_MAX(a,j-1,k-1,l);
}

for(i=0;i<m;i++)
printf("%d\n",b[i]);
return 0;
}

蓝桥杯的练习系统一直显示错误,请各位帮忙看看

  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站