用你熟悉的语言对下列人名排序,并输出结果 Smith,John,Joan,Mike,Peter,Bill

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:31:47
语言不限,只要简单易懂就可以,不过要正确哦!

#include<stdio.h>
#include<string.h>
main()
{
char name[6][6]={"smith","john","joan","Mike","peter","bill"};
char temp[6];
int i,j;
for(i=0;i<6;i++)
for(j=i+1;j<6;j++)
{
if(strcmpi(name[i],name[j])>0)
{strcpy(temp,name[i]);
strcpy(name[i],name[j]);
strcpy(name[j],temp);
}

}
for(i=0;i<6;i++)
printf("%s\n",name[i]);
}

伪代码行吗?呵呵

基于排序算法:
推荐使用一个标准函数int memcmp(const void *s1, const void *s2, size_t n)
函 数 名:memcmp
头 文 件:string.h | mem.h
功 能:按字典顺序对字符串s1,s2比较,并只比较前n个字符
引用格式:int memcmp(const void *s1, const void *s2, size_t n)
参数说明:s1,s2 要比较的字符串,n 比较的长度
返 回 值:返回数值表示比较结果

基于插入算法:
无论怎样,你总得输入这些数据,所以,建立一个字母顺序的链表表头
a->name1->nameb->...
|
b->name2->nameb->...
|
...
|
z->name26->na