蒟蒻求助
查看原帖
蒟蒻求助
313756
KobeBryant924楼主2021/6/7 13:29
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include <ctype.h>
struct m
{
    int num;
    int data;
}up[1<<7],down[1<<7];
int falling(const void *p1,const void *p2)
{
	struct m* x = (struct m*) p1;
    struct m* y = (struct m*) p2;
    return (y -> data - x->data);
}
int main()
{
	int n,i,k,j=1;
    struct m a,b;
    scanf("%d",&n);
    k=1<<(n-1);
	for(i=0;i<k;i++)
    {
    scanf("%d",&up[i].data);
    up[i].num=j++;
    }

    for(i=0;i<k;i++)
    {
    scanf("%d",&down[i].data);
    down[i].num=j++;
    }

    qsort(up,k,sizeof(struct m),falling);
    qsort(down,k,sizeof(struct m),falling);
    a=up[0];
    b=down[0];
    if(a.data>b.data)  printf("%d",b.num);
    else printf("%d",a.num);
	return 0;
}

我想把数据分开排序找最值,不知为何不行...

2021/6/7 13:29
加载中...