注意排序函数的参数,从1开始,即s+1.。。。
#include<stdio.h>
#include<stdlib.h>
struct node{
int num;
int pos;
}s[100];
int cmp(const void *a, const void *b)
{
struct node *c = (struct node *)a;
struct node *d = (struct node *)b;
return d->num > c->num;
}
int main()
{
int t,n,i;
while(scanf("%d",&t)!=EOF)
{
while(t--){
memset(s,0,sizeof(s));
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&s[i].num);
s[i].pos=i;
}
qsort(s+1,n,sizeof(s[1]),cmp);
printf("%d %d\n",s[1].pos,s[2].num);
}
}
system("pause");
return 0;
}