c语言关于姓名排序程序

来源:百度知道 编辑:UC知道 时间:2024/06/04 08:13:39
根据关键字(姓名)升序,插入新节点

除非是英文姓名,可以按照首字母升序排列!C使用的是ASCII码表。没有汉字!如果是JAVA的话,那么使用Unicode表,里面就包括汉字了!
如果是字母的话,那么比较ASCII值的大小,小的在前面,大的在后面。另外编写程序要考虑错误情况,比如输入的是数字的时候怎么处理。这样严谨性比较好。

void paixu_xingming(Student stud[],int n)
{
int p,q,i;
Student temp;
for(p=0;p<n-1;p++)
{
i=p;
for(q=p+1;q<n;q++)
{
if(strcmp(stud[i].name,stud[q].name)>0) /*选择法按姓名排序*/
{
temp=stud[i];
stud[i]=stud[q];
stud[q]=temp;
}
}
}