寻找C语言高手

来源:百度知道 编辑:UC知道 时间:2024/07/01 02:26:33
我把十个人的姓名放在二维数组中a[10][10];每一行代表一个人的姓名,每个姓名的长度不同 现在要按照阿斯科码顺序(从小到大)把十个人的姓名排出来,有哪位高手帮帮忙,不能用库函数,小弟万分感谢

不用库函数,就自己定义一个比较字符串的函数,哈哈

int name_cmp(const char* src,const char* dest)
{

int i=0;
for(i=0;i<9;i++)
{
if(*(src+i)>*(dest+i)) return 1;
if(*(src+i)<*(dest+i)) return -1;
}
return 0;
}

void main()
{
int i,j;
char *a[10]={{"abcd"},{"abbb"},{"geer"},{"hee"},{"aaa"},{"bacd"},{"zggg"},{"g4ert"},{"hello"},{"world"}};
char* tmp;
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(name_cmp(a[i],a[j])>0)
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
for(i=0;i<10;i++)
{
printf("%s\n",a[i]);
}
}

楼上的,人家说了不要用函数都嘛

/* 我把十个人的姓名放在二维数组中a[10][10];每一行代表一个人的姓名,每个姓名的长度不同 现在要按照阿斯科码顺序(从小到大)把十个人的姓名排出来 */
#include <stdio.h>
main(void)