题解 | #合并表记录#

合并表记录

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

#include<stdio.h>

typedef struct{ int key; int val; }KeyVal;

int main(){

int n;
scanf("%d",&n);
KeyVal keyVal[n];
for(int i=0;i<n;i++){
    scanf("%d %d",&keyVal[i].key,&keyVal[i].val);
}

for(int i=0;i+1<n;i++){
    for(int j=i+1;j<n;j++){
        if(keyVal[i].key==keyVal[j].key){
        keyVal[i].val = keyVal[i].val+keyVal[j].val;
        }
    }
    
}


for(int i=0;i<n-1;i++){
    for(int j=0;j<n-i-1;j++){
        if(keyVal[j].key>keyVal[j+1].key){
            KeyVal temp = keyVal[j];
            keyVal[j] = keyVal[j+1];
            keyVal[j+1] = temp;
        }
    }
}

for(int i=0;i<n;i++){
    printf("%d %d\n",keyVal[i].key,keyVal[i].val);
    for(int j=i+1;j<n;j++){
        if(keyVal[i].key==keyVal[j].key){
            i++;
        }
    }
    
}


return 0;

}

全部评论

相关推荐

09-12 11:55
已编辑
湖南工商大学 Java
那一天的Java_J...:这种一堆问题的,别去
点赞 评论 收藏
分享
野猪不是猪🐗:😇:恭喜你以出色的表现成为xxx的一员 😨:您以进入本公司人才库 实际点开:您愿望单中的xxx正在特卖!
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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