题解 | #合并表记录#

合并表记录

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

#include <stdio.h>
typedef struct pairs{
    int index[500];
    int value[500];
}pairs_t;
int main() {
    pairs_t p;
    int N=0;
    scanf("%d",&N);
    for(int i=0;i<N;i++){
        scanf("%d %d",&p.index[i],&p.value[i]);
    }
/*合并*/
    for(int i=0;i<N;i++){
        for(int j=i+1;j<N;j++){
            if(p.index[i]==p.index[j]){
                p.value[i]+=p.value[j];
                for (int k = j; k < N - 1; k++) { 
                    p.value[k] = p.value[k + 1];
                    p.index[k] = p.index[k + 1];
                }
                N--; // 更新数组长度
                j--;
            }
        }
    }
    //排序
    for(int i=0;i<N-1;i++){
        for(int j=0;j<N-i-1;j++){
            if(p.index[j]>p.index[j+1]){
                int temp=p.index[j];
                p.index[j]=p.index[j+1];
                p.index[j+1]=temp;
                int temp2=p.value[j];
                p.value[j]=p.value[j+1];
                p.value[j+1]=temp2;
            }
        }
    }
    for(int i=0;i<N;i++){
        printf("%d %d\n",p.index[i],p.value[i]);
    }
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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