【问题描述】公司要登录新一批员工的资料,分别有姓名,性别,年龄,以及学历,并给信息以姓名进行排序,由字母表顺序排列并输出,相同开头字母按照输入顺序排列。
【输入形式】输入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
定义数据结构啊,然后用对名字的第一个字母进行排序。你提供的样例有问题,缺少年龄
另外你到底要啥语言写????
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;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!