Mi Ke??????? 2022-05-23 21:36 采纳率: 66.7%
浏览 234
已结题

现有n件物品,每件物品有质量和价格两种属性。需要将物品按质量升序排序,若质量相同则按价格降序排序

#include<stdio.h>
int main()
{
for(;;)//本循环未指定循环次数,可以无限循环
{
int n,i,j;
printf("Please enter n:\n");
scanf("%d",&n);
struct item
{
int Wi;
int Pi;
}a[n],t;
printf("Please enter mass and amount:\n");
for(i=0;i<n;i++)
{
scanf("%d %d",&a[i].Wi,&a[i].Pi);
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j].Wi>a[j+1].Wi)
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("The array of mass rising is: \n");
for(i=0;i<n;i++)
{
printf("%dg %dyuan\n",a[i].Wi,a[i].Pi);
}
}
return 0;
}
已经编好按质量升序排序的代码,我想在if里面套if来实现质量相同按价格降序,但是程序运行结果出现错误。试问该在哪里加上什么样的代码实现质量相同按价格降序?

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-05-23 23:14
    关注

    修改如下,供参考:

    #include<stdio.h>
    int main()
    {
        for(;;)//本循环未指定循环次数,可以无限循环
        {
           int n,i,j;
           printf("Please enter n:\n");
           scanf("%d",&n);
           struct item
           {
              int Wi;
              int Pi;
           }a[10],t;
           printf("Please enter mass and amount:\n");
           for(i=0;i<n;i++)
           {
               scanf("%d %d",&a[i].Wi,&a[i].Pi);
           }
           for(i=0;i<n-1;i++)
           {
               for(j=0;j<n-i-1;j++)
               {
                   if(a[j].Wi>a[j+1].Wi)
                   {
                       t=a[j];a[j]=a[j+1];a[j+1]=t;
                   }
                   else if(a[j].Wi == a[j+1].Wi && a[j].Pi < a[j+1].Pi)
                   {
                       t=a[j];a[j]=a[j+1];a[j+1]=t;
                   }
               }
           }
           printf("The array of mass rising is: \n");
           for(i=0;i<n;i++)
           {
               printf("%dg %dyuan\n",a[i].Wi,a[i].Pi);
           }
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 已采纳回答 5月29日
  • 创建了问题 5月23日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装