题解 | #合并表记录#
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <stdio.h>
typedef struct Table
{
int index;
int value;
} table;
int main()
{
int n;
int index_max=0;
int value_sum=0;
int flag=0;
int m=0;
int k=0;
table table_arr[2000];
table table_sum[2000];
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d %d",&table_arr[i].index,&table_arr[i].value);
}
for(int i=0;i<n;i++)
{
if(table_arr[i].index>index_max)
index_max=table_arr[i].index;
}
for(int i=0;i<=index_max;i++)
{
for(int j=0;j<n;j++)
{
if(i==table_arr[j].index)
{
value_sum+=table_arr[j].value;
flag+=1;
}
}
if(flag>0)
{
table_sum[m].value=value_sum;
table_sum[m].index=i;
m++;
}
flag=0;
value_sum=0;
}
while(table_sum[k].value!=NULL)
{
printf("%d %d\n",table_sum[k].index,table_sum[k].value);
k++;
}
}
通过结构体实现