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

题目内容:编写程序,输入并保存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;
}

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

揽阳_Shadows

打赏这个宝藏博主!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值