将n种奶粉按序排列,对价格进行从大到小的排序,当价格相等时,则对适用年龄从大到小排序,保证在价格相等的情况下年龄一定不同

输入描述

第一行输入总的种类数1≤n≤20
接下来n行每行依次输入该种的适用年龄a,价格b和名称(1≤a,b≤100)名称为一个字母,该字母可能大写可能小写

输出描述

按次序依次输出排序后的奶粉排列情况(对价格进行从大到小的排序,如若价格相等,则对适用年龄从大到小排序,保证在价格相等的情况下年龄一定不同)输出的n行,每行依次为该种的适用年龄a,价格b和名称。

#Include <stdio.h>
typedef struct _nf
{
    char name;
    int age;
    float price;
}nf;

void fun(nf *a,int n)
{
    for(int i=0;i<n-1;i++)
    {
          for(int j=0;j<n-i-1;j++)
          {
              if((a[j].price < a[j+1].price) || (a[j].price == a[j+1].price) && (a[j].age <a[j+1].age))
              {
                    nf  t= a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
              }
          }
    }
}
int main()
{
      nf a[20];
      int n = 0;
      scanf("%d",&n);
      for(int i=0;i<n;i++)
            scanf("%d%f%c",&a[i].age,&a[i].price,&a[i].name);
      fun(a,n);
      for(int i=0;i<n;i++)
            printf("%c %d %f\n",a[i].name,a[i].age,a[i].price);
      return 0;
}