0
点赞
收藏
分享

微信扫一扫

C语言程序设计:输入并保存5名职工的信息,计算并输出平均工资,再按照工资从高到低的顺序输出。

Fifi的天马行空 2023-05-15 阅读 62

题目内容:编写程序,输入并保存5名职工的信息,计算出平均工资并输出,再按照工资从高到低的顺序输出他们的信息。

职工信息包括:职工号、姓名、工资。职工号不超过9位,姓名不超过8个字符,工资和平均工资均为双精度实数,保留1位小数。

输入格式:

%d%s%lf

输出格式:

The Average=%-6.1f\n

%-10d%-10s%-6.1f\n

输入样例:

19610901 zhao 8524

20170205 qian 6605

20100320 sun 6750

19730205 wang 8230

19800725 zhou 7590

输出样例:

The Average=7539.8

19610901  zhao      8524.0

19730205  wang      8230.0

19800725  zhou      7590.0

20100320  sun       6750.0

20170205  qian      6605.0

时间限制:500ms内存限制:32000kb

#include <stdio.h>
struct student{
 int num;int tag;
 char name[20];
 double wage;
}stu[5];
void compare(){
 int i,j,t;double tw;
 t=0;
 for(i=0;i<5;i++)
  for(j=0;j<5-i;j++)
   if(stu[j].wage<stu[j+1].wage){
    t=stu[j].tag;stu[j].tag=stu[j+1].tag;stu[j+1].tag=t;
    tw=stu[j].wage;stu[j].wage=stu[j+1].wage;stu[j+1].wage=tw;
   }
}
int main(){
 int a=0;double sum=0;int i;
 struct student *p;
for(p=stu;p<stu+5;p++){
 scanf("%d%s%lf",&p->num,&p->name,&p->wage);
 p->tag=a;a++;
}
for(p=stu;p<stu+5;p++){
 sum+=p->wage;
}
printf("The Average=%-6.1f\n",sum/5.0);
compare();
for(i=0;i<5;i++){
 printf("%-10d%-10s%-6.1f\n",stu[stu[i].tag].num,stu[stu[i].tag].name,stu[i].wage);
}

return 0;
}
举报

相关推荐

0 条评论