请用指针编写 字符串排序

来源:百度知道 编辑:UC知道 时间:2024/06/02 01:18:48
2012 字符串排序
Description
按字典顺序输出某班所有人的名单。
Input
一组测试数据,第一行为一个整数N,表示本班有N个人(N<=30),接下来的N行中每行一个人名(人名均由小写字母组成)。
Output
按字典顺序排列的人员名单。每个人名占一行。
Sample Input
5
zhangsan
liyang
wangxiao
liqing
wuhui
Sample Output
liqing
liyang
wangxiao
wuhui
zhangsan

下面的程序已经调试过了,但是标点符号在复制的过程中可能会变了格式,建议不用直接复制(不过可以试一下),花一点时间照着下面的输入就可以了,代码绝对不会错的。
#include<stdio.h>
#include<string.h>
void main()
{
char *name[]={"zhangsan","liyang","wangxiao","liqing","wuhui"};
int i,j;
char *t;
printf("排序前:\n");
for(i=0;i<5;i++)
printf("name[%d]=%s\n",i,name[i]);
for(i=0;i<5;i++)
for(j=0;j<5-i;j++)
if(strcmp(name[j],name[j+1])>0)
{
t=name[j];
name[j]=name[j+1];
name[j+1]=t;
}
printf("排序后:\n");
for(i=0;i<5;i++)
printf("name[%d]=%s\n",i,name[i]);
}