c语言为通讯录排序函数 c语言通讯录查找功能代码

C语言排序 十万火急! 想按照名字将通讯录排序,但是我现在写不下去了,下面该怎么写?。?下面应该这很简单 , 只是你那个sort函数写乱了 。如果你的记录是链表,排序交换略复杂些;若是数组,你那个选择sort的基本结构就可以 。下面给你提供一个作参考:
void sort(struct Man *p,int n){//p是数组第一元素指针,n是数组长度
int i,j,k;
struct Man t;
for(i=0;in;i++){
for(k=i,j=k+1;jn;j++)
if(strcmp(p[k].Name,p[j].Name)0)
k=j;
if(k!=i){//这里是k与i的关系而非j
t=p[k];//这里交换整个数组元素,不能只交换成员Name
p[k]=p[i];
p[i]=t;
}
}
}
c语言用数组做通讯录 怎样将联系人的姓名首字母排序 并且输出 求大侠排序部分
for(j=0;jn-1;j++)
{
for(i=0;in-1-j;i++)
{
if((strcmp(wds[i],wds[i+1]))0)//每个数组元素都是字符串
{
t=wds[i];
wds[i]=wds[i+1];
wds[i+1]=t;
}//冒泡排序
}
}
输出部分
for(k=0;in;k++)
{
puts(wds[i]);
}
C语言制作通讯录怎么将联系人的名字按26个字母的顺序排序用 strcmp(name1,name2) 作比较,name1name2 做交换 。
当然 要把名字(字符串)全化成大写或全小写再比较 。
假定都是小写:
#includestdio.h
struct TXL
{
char name[20]; char phone[20]; char address[50];// 你还可以添别的项,不一定是 char 型
};
#define N 4// 例子里用 4 个人
int main()
{
struct TXL txl[N]={ "zhang","12345","abcd",
"wang","12345","efg",
"li","12345","hijk",
"zhao","12345","xyz"};// 声明结构数组,并初始化,当然你可以改用输入语句输入
struct TXL t;//t 用来 排队比较交换时,用作 工作单元
int i,j;
for (i=0;iN-1;i++)
for (j=i;jN;j++){
if (strcmp(txl[i].name,txl[j].name)0){// 比较
t=txl[i]; txl[i]=txl[j];txl[j]=t;// 交换
}
}
for (i=0;iN;i++)
printf("%s %s %s\n",txl[i].name,txl[i].phone,txl[i].address);//输出结果
}
c语言通讯录排序按年龄从小到大输出void sort(struct Man *p,int n){//p是数组第一元素指针,n是数组长度
int i,j,k;
struct Man t;
for(i=0;in;i++){
for(k=i,j=k+1;jn;j++)
if(strcmp(p[k].Name,p[j].Name)0)
k=j;
if(k!=i){//这里是k与i的关系而非j
t=p[k];//这里交换整个数组元素,不能只交换成员Name
p[k]=p[i];
p[i]=t;
}
}
}
【c语言为通讯录排序函数 c语言通讯录查找功能代码】关于c语言为通讯录排序函数和c语言通讯录查找功能代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读