#include <stdio.h>
#include <stdlib.h>
typedef struct
{
char name[10];
int years;
int age;
}Staff;
void input2(Staff *Number)
{
printf("请输入员工姓名:");
scanf("%s",Number->name);
printf("请输入员工工龄:");
scanf("%d",&Number->years);
printf("请输入员工年龄:");
scanf("%d",&Number->age);
}
void input1(Staff Number[],int n)
{
int i=0;
for(i;i<n;i++)
{
input2(&Number[i]);
}
}
int CompareAge(Staff s1,Staff s2)
{
return s1.age>s2.age;
}
int CompareYears(Staff s1,Staff s2)
{
return s1.years>s2.years;
}
void sortNumber(Staff Number[],int n,int (*Compare)(Staff s1,Staff s2))
{
int i=1;
for(i;i<=n;i++)
{
for(int j=0;j<n-i;j++)
{
if(Compare(Number[j],Number[j+1]))
{
Staff t = Number[j];
Number[j]=Number[j+1];
Number[j+1]=t;
}
}
}
}
void show(Staff s)
{
printf("name=%s ",s.name);
printf("age=%d ",s.age);
printf("years=%d\n",s.years);
printf("-------------");
}
void showNumber(Staff Number[],int n)
{
for(int i=0;i<n;i++)
{
show(Number[i]);
}
}
int main()
{
Staff Number[5];
input1(Number,5);
sortNumber(Number,5,CompareYears);
printf("按工龄排序如下:\n");
showNumber(Number,5);
sortNumber(Number,5,CompareAge);
printf("按年龄排序如下:\n");
showNumber(Number,5);
}
C语言项目-员工录入排序
猜你喜欢
转载自blog.csdn.net/qq_41750725/article/details/79393886
今日推荐
周排行