题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <stdio.h> int main() { int a=0,i=0,j=0,k=0,index=0,value=0,b[500][2]={0},temp=0; scanf("%d",&a); for(i=0;i<a;i++) { scanf("%d %d",&index,&value); b[i][0]=index; b[i][1]=value; for(j=0;j<i;j++) { if(b[j][0]==b[i][0]) { b[j][1]+=value; b[i][1]=0; break; } } } for(i=1;i<a;i++) { for(j=0;j<a-i;j++){ if(b[j][0]>b[j+1][0]) { temp = b[j][0]; b[j][0]=b[j+1][0]; b[j+1][0]=temp; temp = b[j][1]; b[j][1]=b[j+1][1]; b[j+1][1]=temp; } } } for(k=0;k<a;k++){ if (b[k][1]!=0) { printf("%d %d\n",b[k][0],b[k][1]); } } return 0; }