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

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

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

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

2个回答

你好,用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;
}

#include

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 {
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 {
index=i;
tt=arr[i];
for(j=i+1;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;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问