题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include<stdio.h>
int main() {
typedef struct {
int index;
int value;
} Map;
int n, flag = 0;
while (scanf("%d", &n) != EOF) {
Map map[n];
for (int i = 0; i < n; i++) {
scanf("%d %d", &map[i].index, &map[i].value);
}
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (map[i].index > map[j].index) {
Map temp;
temp=map[i];
map[i]=map[j];
map[j]=temp;
}
}
}
for (int i = 1; i <= n; i++) {
if (map[flag].index == map[i].index) map[flag].value += map[i].value;
else {
printf("%d %d\n", map[flag].index, map[flag].value);
flag = i;
}
}
}
return 0;
}

查看17道真题和解析