题解 | #合并表记录#
合并表记录
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;
}

