字符串数组排序(C语言)(qsort库函数)

for(i=1;i<=n;i++)
{
scanf("%s",f[i]);
}
怎么使用库函数qsort对F[I]进行排序?要求长度短的在前,长度相同的以首字符排序(字符串中只存在0~9十个数字)

第1个回答  2011-09-24
长度短的在前,长度相同的以首字符排序,这个要求是不是就是如果将字符串转成数字,就是数字大的在前小的在后?
输入的数据是从键盘输入到命令行里的还是文件读进来的,输出到哪里?追问

字符串中只存在0~9十个数字,即输入数据为999,911,12345等等……
输入为标准输入,不需要输出,只需要排序

追答

int cmp ( const void *a , const void *b )
{
return *(int *)a - *(int *)b;
}

int main(int argc, char* argv[])
{
int data[10];
printf("please input 10 number\r\n");
for(int i=0; i<10; i++)
{
scanf("%d", &data[i]);
}
qsort(data,10,sizeof(data[0]),cmp);
return 0;
}

相似回答