C.&H. 2019-02-17 10:47 采纳率: 0%
浏览 497

编写程序(用C或C++),求大神指点,多谢!

编写程序,运用数据分析一下利群超市里几种产品过去一周的销售情况,以便为销售好的产品准备更充足的货源以应对节日
购物狂欢节。假定POS机记录了每种产品的名称、品牌、价格和销售数量。请根据销售对这些产品进行从高到低的排序,并依次输出这些产品的详细信息。

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

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

  • 写回答

2条回答 默认 最新

  • IT学长 2019-02-17 16:08
    关注

    你好,用C语言试了下,小白,望见谅

    #include<stdio.h>
    
    struct goods
    {
        char name[22];  //商品名
        char brandName[22];  //品牌
        double price;  //价格
        int temp;  //销量
    }tt;
    int main()
    {
        int T;
        struct goods arr[33];
        scanf("%d",&T);
        int i;
        for(i=0;i<T;i++)
        {
            scanf("%s %s %lf %d",&arr[i].name,&arr[i].brandName,&arr[i].price,&arr[i].temp);
        }
        int j;
        int index;
        for(i=0;i<T-1;i++)
        {
            index=i;
            tt=arr[i];
            for(j=i+1;j<T;j++)
            {
                if(arr[j].temp>=arr[index].temp) index=j;
            }
            arr[i]=arr[index];
            arr[index]=tt;
        }
        for(i=0;i<T;i++)
        {
            printf("%s %s %.2lf %d\n",arr[i].name,arr[i].brandName,arr[i].price,arr[i].temp);
        }
        return 0;
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作