题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
void bubblesort(int**a,int n) { for(int i=0;i<n;i++) { for (int j = 0; j < n - i - 1; j++) { if(a[j][0]>a[j+1][0]) { int*tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } } } } int main() { int n=0; scanf("%d",&n); int**arr=(int**)calloc(n,sizeof(int*)); for(int i=0;i<n;i++) { int*str=(int*)malloc(sizeof(int)*2*n); arr[i]=str; scanf("%d %d",&arr[i][0],&arr[i][1]); } for(int i=0;i<n;i++)//把index相等的值进行相加 { for(int j=i+1;j<n;j++) { if(i!=j&&arr[j][0]!=-1&&arr[i][0]==arr[j][0]) { arr[i][1]+=arr[j][1]; arr[j][0]=-1; } } } int i=0; bubblesort(arr,n); while(n--) { if(arr[i][0]!=-1) printf("%d %d\n",arr[i][0],arr[i][1]); i++; } return 0; }