使用qsort时遇到的问题
对int数组排序:
#include<stdio.h> #include<stdlib.h> int cmp(const void *a, const void *b) //int 是作为返回值类型,返回值为真或假,故用int(包括数据double时) { return(*(int *)a-*(int *)b); //如果是double型数组,则int改为double就可以了 } int main() { int k,a[100000]; long i,n; char b[5]; while(scanf("%ld",&n)!=EOF) { for(i=0;i<n;i++) scanf("%d",&a[i]); scanf("%s",b); qsort(a,n,sizeof(a[0]),cmp); //sizeof(a)-->sizeof(a[0]) scanf("%d",&k); while(k--) { scanf("%d",&i); printf("%d\n",a[i-1]); } } return 0; }
/**************************************************************************
                 
原文来自博客园——Submarinex的博客: www.cnblogs.com/submarinex/               
 
*************************************************************************/