题解 | 合并表记录

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

#include <stdbool.h>
#include <stdio.h>

int main() {
    int a, b;
    int i, j;
    int m[500];
    int n[500];
    int* mb = m;
    int* nb = m;
    scanf("%d", &a);
    b = 0;
    while (b < a) {
        scanf("%d %d", &m[b], &n[b]);
        b++;
    }
    for (i = 0; i < a - 1; i++) {
        for (j = 0; j < a - 1 - i; j++) {
            if (m[j] >= m[j + 1]) {
                int buf = m[j];
                m[j] = m[j + 1];
                m[j + 1] = buf;
                int bus = n[j];
                n[j] = n[j + 1];
                n[j + 1] = bus;
            }
        }
    }
    for (b = 0; b <a; b++) {
        if (b <= 0) {
            continue;
        } else {
            if (m[b] == m[b- 1]) {
            n[b] = n[b]+ n[b-1];
            if (b == a-1) {
            printf("%d %d\n", m[b],n[b]);
            }
            } else {
                printf("%d %d\n", m[b-1],n[b-1]);
                if (b == a-1) {
                printf("%d %d\n", m[b],n[b]);
                }
            }
        }
    }
    return 0;
}

全部评论

相关推荐

07-03 16:02
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务