题目描述
果店开业了,老板收到若干订单,贪心的老板喜欢先将订单总价值多的客户先发货,毕竟以盈利为主嘛,现在老板收到n份订单(n<20)以及这n份订单的详细信息,请按照订单总价值从大到小排序,并输出客户昵称。(后台数据保证没有总价值相同的订单)
输入
分n+1行,第一行输入正整数n表示订单总数,剩下n行输入订单信息,第一个数字代表糖果单价(浮点数),第二个数字代表购货总数(正整数),第三个字符串代表客户昵称
输出
按照订单总价由大到小分n行输出客户昵称
样例输入
2
1 100 Mike
1.2 60 Joy
样例输出
Mike
Joy
参考代码
#include<stdio.h>
struct dingdan
{
float v;
float num;
char name[10];
}
d[20];
int main()
{
int n;
int i,j;
struct dingdan l={'0'};
scanf("%d",&n);
for (i=0;i<n;i++)
{
scanf("%f %f %s",&d[i].v,&d[i].num,&d[i].name);
}
for (i=0;i<n;i++)
for (j=i+1;j<n;j++)
{
if(d[i].v*d[i].num>d[j].v*d[j].num)
{
l=d[i];
d[i]=d[j];
d[j]=l;
}
}
for (i=n-1;i>=0;i--)
{
printf("%sn",d[i].name);
}
return 0;
}
解析
暂无