题解 | #合并表记录#
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include<stdio.h>
typedef struct{ int key; int val; }KeyVal;
int main(){
int n;
scanf("%d",&n);
KeyVal keyVal[n];
for(int i=0;i<n;i++){
scanf("%d %d",&keyVal[i].key,&keyVal[i].val);
}
for(int i=0;i+1<n;i++){
for(int j=i+1;j<n;j++){
if(keyVal[i].key==keyVal[j].key){
keyVal[i].val = keyVal[i].val+keyVal[j].val;
}
}
}
for(int i=0;i<n-1;i++){
for(int j=0;j<n-i-1;j++){
if(keyVal[j].key>keyVal[j+1].key){
KeyVal temp = keyVal[j];
keyVal[j] = keyVal[j+1];
keyVal[j+1] = temp;
}
}
}
for(int i=0;i<n;i++){
printf("%d %d\n",keyVal[i].key,keyVal[i].val);
for(int j=i+1;j<n;j++){
if(keyVal[i].key==keyVal[j].key){
i++;
}
}
}
return 0;
}