题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int index,value;
}node;
int cmp(const void*a,const void*b){
return (*(node*)a).index-(*(node*)b).index;
}
int main() {
int n,len=0,index,value;
int i,j,flag;
node num[505];
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d %d",&index,&value);
flag = 1;
for(j=1;j<=len;j++){
if(num[j].index==index){
num[j].value=num[j].value+value;
flag=0;
break;
}
}
if(flag){
len++;
num[len].index=index;
num[len].value=value;
}
}
qsort(num+1,len,sizeof(num[0]),cmp);
for(i=1;i<=len;i++){
printf("%d %d\n",num[i].index,num[i].value);
}
return 0;
}
