【问题描述】公司要登录新一批员工的资料,分别有姓名,性别,年龄,以及学历,并给信息以姓名进行排序,由字母表顺序排列并输出,相同开头字母按照输入顺序排列。
【输入形式】输入n名员工,输入员工资料
【输出形式】输出排完序的员工信息,每个员工信息占一行
【样例输入】
4
uusbf man primary
iwuhnf women highschool
sdfj man middleschool
unnaksndf women highschool
【样例输出】
iwuhnf women highschool
sdfj man middleschool
uusbf man primary
unnaksndf women highschool
想知道这个问题的完整代码。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
CSDN专家-link 2022-11-21 10:22关注定义数据结构啊,然后用对名字的第一个字母进行排序。你提供的样例有问题,缺少年龄
另外你到底要啥语言写????
C#include <stdio.h> typedef struct _worker { char name[20]; char sex[20]; char edu[20]; int age; }worker; int main() { worker ws[100]; int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%s %s %d %s",ws[i].name,ws[i].sex,&ws[i].age,ws[i].edu); for(int i=0;i<n-1;i++) for(int j=0;j<n-1-i;j++) { if(ws[j].name[0] > ws[j+1].name[0]) { worker w = ws[j]; ws[j] = ws[j+1]; ws[j+1] = w; } } for(int i=0;i<n;i++) printf("%s %s %d %s\n",ws[i].name,ws[i].sex,ws[i].age,ws[i].edu); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录