石油大oj 1075: 数据分析小试身手

题目描述

当前,我们已经进入一个“大数据”时代,人们寄希望通过大数据分析技术挖掘出有价值的商业信息。今天我们也小试身手,运用数据分析一下利群超市里几种产品过去一周的销售情况,以便为销售好的产品准备更充足的货源以应对春节购物狂欢。

假定POS机记录了每种产品的名称、品牌、价格和销售数量。请根据销量对这些产品进行从高到底的排序,并依次输出这些产品详细信息。

输入

第一行一个整数T(0<T<30),表示要分析的产品的种类。

接下来有T行,每行包括四个数据,分别为产品的名称(长度小于20)、品牌(长度小于20)、价格(实数)和销售数量(整数,不大于1000),输入数据以空格隔开,且假定产品名称和品牌中都不包括空格字符。

输出

多行,按照销售数量从高到低的顺序依次输出各产品的名称、品牌、价格和销售数量等信息,各数据之间以空格隔开,价格保留2位小数。

样例输入 Copy

4

pijiu qingdao 9.5 120

niunai sanyuan 18 150

wenju deli 20 98

qiuxie nike 500 50

样例输出 Copy

niunai sanyuan 18.00 150

pijiu qingdao 9.50 120

wenju deli 20.00 98

qiuxie nike 500.00 50

标签

数组 结构体排序 字符串基础

题目分析:

结构体关键词sort排序,cout输出格式控制

错误原因:

#include<iomanip>

fixd和setprecision(2)一起用才是保留两位有效数字,和setprecision(2)单用不同。

AC代码:

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<iomanip>
using namespace std;
struct node{
    string name;
    string band;
    double price;
    int num; 
};

bool cmp(const node & a,const node & b){
    return a.num > b.num;
}

int main(){
    int t;
    node a[40];
    
    cin >> t;
    for(int i = 0;i < t;i ++)
    {
        cin >> a[i].name >>a[i].band >> a[i].price >> a[i].num;
    }

    sort(a,a + t,cmp);
    for(int i = 0;i < t;i ++)
    {
        cout << a[i].name <<" " << a[i].band <<" " << fixed << setprecision(2) << a[i].price  <<" " <<a[i].num << endl;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值