字符串数组排序, 高人请看一下
下面这段代码是输入十个名字,按ASC码从小到大排序后输出结果,比如: asea和ase应该ase排在前,但出错了,请高手看看是什么原因
另对两个字符串数组内容对调有什么其它的方法吗,我初学,刚学至数组
程序代码:#include <stdio.h>
main()
{
char name[10][15];
int i;
//输入十个人名
for (i=0;i<10;i++)
{
printf("请输入第%d个人的姓名:",i+1);
scanf("%s",&name[i]);
}
//起泡排序
int j,c;
for (i=0;i<9;i++)
for (j=i+1;j<10;j++)
for (c=0;c<15&&name[i][c]==name[j][c]=='\0';c++)
if (names[i][c]>name[j][c]||name[j][c]=='\0')
{
char b[15];
for (c=0;c<15;c++)
b[c]=name[i][c];
for (c=0;c<15;c++)
name[i][c]=name[j][c];
for (c=0;c<15;c++)
name[j][c]=b[c];
break;
}
else if(name[i][c]<name[j][c]||name[i][c]=='\0')
break;
//输出排序结果
printf("\n排序后顺序:");
for (i=0;i<10;i++)
printf("\n%2d: %s",i+1,name[i]);
}







