HJ8 合并表记录
#include <stdio.h>
int i,j,k,u,z;
struct Array{
long int index;
int value;
}A[500],temp;
int main()
{
int num;
scanf("%d\n",&num);
//将值保存到结构体中
for(i=0; i<num; i++){
scanf("%d %d\n",&A[i].index,&A[i].value);
}
for(j=0; j<num; j++){
for(k=j+1;k<num;k++){
//index 相同的合并
if(A[j].index == A[k].index)
{
A[j].value+=A[k].value;
//去重
for(u=k;u<num;u++)
{
A[u]=A[u+1];
}
num--;
j--;
}
}
}
//排序
for(i=0;i<num-1;i++){
for(int j=i+1; j<num;j++){
if(A[j].index < A[i].index){
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
}
for(z=0; z<num; z++){
printf("%d %d\n",A[z].index,A[z].value);
}
return 0;
}