题解 | #合并表记录#

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

#include <stdio.h>
#include <string.h>

int main()
{
    int n=0;
    scanf("%d",&n);
    int num[n][2];
    //输入
    for(int i=0;i<n;i++)
        scanf("%d %d",&num[i][0],&num[i][1]);
    
    //冒泡排序
    for(int i=0;i<n;i++)
        for(int j=i+1;j<n;j++)
        {
            int temp[1][2];
            if(num[i][0]>num[j][0])
            {
                temp[0][0]=num[i][0];
                temp[0][1]=num[i][1];
                num[i][0]=num[j][0];
                num[i][1]=num[j][1];
                num[j][0]=temp[0][0];
                num[j][1]=temp[0][1];
            }
        }
    //开始合并
    int out_num[n][2];
    int x=0;
    out_num[0][1]=num[0][1];
    out_num[0][0]=num[0][0];
    for(int i=0;i<n;i++)
    {                
        if(num[i][0]==num[i+1][0])
        {
            out_num[x][0]=num[i][0];
            out_num[x][1]+=num[i+1][1];
        }
        else 
        {
            x++;
            out_num[x][0]=num[i+1][0];
            out_num[x][1]=num[i+1][1];
        }
    }
    //输出
    for(int i=0;i<x;i++)
        printf("%d %d\n",out_num[i][0],out_num[i][1]);

    return 0;

}

全部评论

相关推荐

头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务