销售排行榜
題目描述
你的任務是幫助淘寶網店店長整理銷售數據,根據累計的銷售記錄,將所有商品
按銷售數量降序排列。
輸入
輸入包括多行數據(行數小于100000),每行數據包括4個信息,分別是商品名稱、
銷售數量、單價、成交日期
商品名稱由小寫字母組成,且不超過100個字符,銷售數量和單價都是正整數,且小于10000
輸出
輸出包括多行數據,將所有在輸入中出現的商品按銷售數量降序排列,每行數據包括3
個信息,分別是商品名稱、銷售數量、銷售額,如果兩種商品銷售數量一樣,則按商品的
字母順序升序排列
樣例輸入
apple 1 20 2014-4-2?
basketball 1 20 2014-4-2
computer 1 20 2014-4-2
shoe 1 20 2014-4-2
tv 1 20 2014-4-2
apple 1 18 2014-4-3?
樣例輸出
apple 2 38
basketball 1 20
computer 1 20
shoe 1 20
你的任務是幫助淘寶網店店長整理銷售數據,根據累計的銷售記錄,將所有商品
按銷售數量降序排列。
輸入
輸入包括多行數據(行數小于100000),每行數據包括4個信息,分別是商品名稱、
銷售數量、單價、成交日期
商品名稱由小寫字母組成,且不超過100個字符,銷售數量和單價都是正整數,且小于10000
輸出
輸出包括多行數據,將所有在輸入中出現的商品按銷售數量降序排列,每行數據包括3
個信息,分別是商品名稱、銷售數量、銷售額,如果兩種商品銷售數量一樣,則按商品的
字母順序升序排列
樣例輸入
apple 1 20 2014-4-2?
basketball 1 20 2014-4-2
computer 1 20 2014-4-2
shoe 1 20 2014-4-2
tv 1 20 2014-4-2
apple 1 18 2014-4-3?
樣例輸出
apple 2 38
basketball 1 20
computer 1 20
shoe 1 20
tv 1 20
代碼如下:
#include<iostream> #include<string> #include<algorithm> #include<stdlib.h> #define MAX 100000 using namespace std;struct good {string name;int num;int value; };good a[100000]; int counttt=0;int CCC(good a,good b) {if(a.num!=b.num){return a.num>b.num;}else return a.name<b.name; }int CCC2(good a,good b) {return a.name<b.name; }int main() {string name,date;int num,price;while(cin>>name>>num>>price>>date){a[counttt].name=name;a[counttt].num=num;a[counttt].value=num*price;counttt++;}sort(a,a+counttt,CCC2); for(int i=0;i<counttt;i++){if(a[i].name==a[i+1].name){a[i+1].num+=a[i].num;a[i+1].value+=a[i].value;a[i].name="GSwin";}}sort(a,a+counttt,CCC);for(int i=0;i<counttt;i++){if(a[i].name!="GSwin"){cout<<a[i].name<<" "<<a[i].num<<" "<<a[i].value<<endl;} }return 0; }總結
- 上一篇: keil5MDK 及cubeMX安装教程
- 下一篇: python输入逗号_python中 逗