题解 | 合并表记录

合并表记录

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

#include<stdio.h>

struct record{
    int index;
    int value;
}data[500],new[500];


int main(){
    int num=0,flag=0;
    scanf("%d",&num);
    int i=0,t=0;
    for(i=0;i<num;i++){
        scanf("%d %d",&data[i].index,&data[i].value);
    }
    new[0]=data[0];int j=0;
    for(i=1;i<num;i++){
        for(int temp=0;temp<j+1;temp++){
            if(new[temp].index==data[i].index){
                new[temp].value+=data[i].value;flag++;
            }
        }
        if(!flag){
            new[++j].index=data[i].index;
            new[j].value=data[i].value;

        }flag=0;
    }
    for(i=0;i<j;i++){
        for(t=0;t<j-i;t++){
            if(new[t].index>new[t+1].index){
                int tem1=new[t].index;
                int tem2=new[t].value;
                new[t].index=new[t+1].index;
                new[t].value=new[t+1].value;
                new[t+1].index=tem1;
                new[t+1].value=tem2;
            
            }
        }

    }
    for(i=0;i<j+1;i++){
        printf("%d %d\n",new[i].index,new[i].value);
    }

   
    return 0;
}

全部评论

相关推荐

02-28 01:18
已编辑
南昌大学 后端工程师
黑皮白袜臭脚体育生:把开源经历放个人项目上边应该更好,就像大部分人都把实习经历放个人项目上边
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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