你猜我有多动心
2016-11-25 15:15
采纳率: 100%
浏览 2.4k
已采纳

关于C语言结构体多条件排序的问题

关于C语言结构体的。 struct _score { int name[11]; int a; int b; int c; int sum; } 对这个结构体 按照sum>a>b>c的优先级顺序进行排序,就是sum相同的话比a这样子,要如何实现呢? (ps:我是初学者基础很差,希望代码能简单点,有注释最好啦)

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2016-11-25 16:08
    已采纳
     struct _score data[N];
    for (int i = 0; i < N; i++)
    {
    for (int j = 0; j < N - 1; j++)
    {
    if (data[j].sum < data[j + 1].sum) continue;
    if (data[j].sum == data[j + 1].sum && data[j]. a < data[j + 1].a) continue;
    if (data[j].sum == data[j + 1].sum && data[j].a == data[j + 1].a && data[j].b < data[j + 1].b) continue;
    if (data[j].sum == data[j + 1].sum && data[j].a == data[j + 1].a && data[j].b == data[j + 1].b && data[j].c == data[j + 1].c)) continue;
    struct _score t = data[j];
    data[j] = data[j + 1];
    data[j + 1] = t;
    }
    }
    
    打赏 评论

相关推荐 更多相似问题