c语言程序结构体排序,如何用C语言的结构体数组中的某一值排序?

[C] 纯文本查看 复制代码#include "stdio.h"

#include "string.h"

struct student {

char name[20];

char tel[12];

};

void sort(student ss[]);

void outPut(student ss[]);

int main()

{

student contacts[10] = { {"LiLei","13678941562"},

{"WangHao","15046523182"},

{"WangDi","13598741863"},

{"OuyangDan","13875469871"},

{"HanLi","13647152364"},

{"Zhengchao","15098563214"},

{"Futong","13213254698"},

{"FangYang","15978632132"},

{"BaiHao","15432145698"},

{"Cenyu","15896566532"} };

sort(contacts);

outPut(contacts);

return 0;

}

void sort(struct student ss[])

{

int i,j;

student temp;

for (i = 0; i < 10 - 1; ++i)

for (j = i + 1; j < 10; ++j)

{

if (ss[i].name[0] >= ss[j].name[0]) {

temp = ss[i];

ss[i] = ss[j];

ss[j] = temp;

}

}

}

void outPut(struct student ss[])

{

int i;

printf("------通讯录-------\n");

printf("姓名\t\t电话\t\n");

for (i = 0; i < 10; i++)

printf("%s\t\t%s\t\n",ss[i].name,ss[i].tel);

printf("\n");

}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值