题解 | #简单错误记录#

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

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

int main() {
    char table[100][100];
    int tableNumber[100];
    int tableCnt[100];
    memset(tableCnt, 0, sizeof(tableCnt));
    int n = 0;
    while (scanf("%s %d",table[n],&tableNumber[n])!=EOF) {
        char *p = strrchr(table[n],'\\')+1;
        if(strlen(p)>=16) {
            p += strlen(p)-16;
        }
        char temp[100];
        strcpy(temp, p);
        strcpy(table[n],temp);
        n++;
    }
    for (int i=0; i<n; i++) {
        for (int j=i+1; j<n; j++) {
            if(j>=n) break;
            if(tableNumber[j]==-1) continue;
            if(strcmp(table[i], table[j])==0&&tableNumber[i]==tableNumber[j]) {
                table[j][0] = '\0';
                tableNumber[j] = -1;
                tableCnt[i]++;
            }
        }
    }
    int printfCnt = 0;
    int jk = 0;
    for (int i=n-1; i>=0; i--) {
        if(tableNumber[i]==-1) continue;
        printfCnt++;
        if(printfCnt==8) {
            jk = i;
            break;
        }
    }

    for (int i=jk; i<n; i++) {
        if(tableNumber[i]==-1) continue;
        printf("%s %d %d\n",table[i],tableNumber[i],tableCnt[i]+1);
    }
    return 0;
}

全部评论

相关推荐

机械打工仔:有说的你怀疑一下就行了,直接问也太实诚了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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