题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <stdio.h>
int main() {
int index;
int val;
int num[501][2]={0};
int num2[201][2]={0};
int n;
int count;
int m;
scanf("%d",&n);
int i,j=0;
for(i=0;i<(2*n);i++)
{
scanf("%d",&num[i/2][i%2]);
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(num[i][0]==num[j][0])
{
num[i][1]=num[i][1]+num[j][1];
num[j][1]=0;
num[j][0]=0;
}
}
}
for(i=0;i<n;i++)
{
if((num[i][0]==0)&&(num[i][1]!=0))
{
printf("%d %d\n",num[i][0],num[i][1]);
num[i][0]=0;
num[i][1]=0;
}
}
for(i=0;i<n;i++)
{
m=11111111;
for(j=0;j<n;j++)
{
if(m>num[j][0]&&(num[j][0]!=0))
{
m=num[j][0];
}
}
if(m!=0)
{
for(j=0;j<n;j++)
{
if(m==num[j][0])
{
printf("%d %d\n",num[j][0],num[j][1]);
num[j][0]=0;
num[j][1]=0;
}
}
}
}
}
查看21道真题和解析