题解 | #简单错误记录#

简单错误记录

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

#include<stdio.h>
#include<string.h>
typedef struct ErrRecord
{
    char name[20];
    int line;
    int count;
}ErrRecord;

int main()
{
    ErrRecord record[100];
    int rindex = -1;
    
    char str[100];
    int line;
    while(EOF != scanf("%s%d",str,&line))
    {
        int i,j;
        int len = strlen(str);
        char name[20];
        for(i=len-1;i>=0;i--)
        {
            if(str[i] == '\\')
               break;
        }
        //从i+1 下一位开始复制,还有考虑长度不能超过16
        if(i+1 < len -16)
        {
            strcpy(name, str+len-16);
        }else {
            strcpy(name, str+i+1);
        }
        int flag = 0;  //标志能否在前面发现相同的记录 1:发现,0:未发现。
        for(i=0;i<=rindex;i++)
        {
            if( (0 == strcmp(name, record[i].name)) && (line == record[i].line) )
            {
                record[i].count++;
                flag = 1;
                break;
            }
        }
        
        if(0 == flag)
        {
            ++rindex;
            strcpy(record[rindex].name, name);
            record[rindex].line = line;
            record[rindex].count = 1;
        }
        
    }
    if(rindex<8)
    {
        for(int i=0;i<=rindex;i++)
        {
            printf("%s %d %d \n",record[i].name,record[i].line,record[i].count);
        }
    }else {
        for(int i=rindex-7;i<=rindex;i++)
        {
            printf("%s %d %d \n",record[i].name,record[i].line,record[i].count);
        }
    }
    
    return 0;
}
全部评论
不循环记录,直接开大空间,天才!
点赞 回复 分享
发布于 2024-01-22 19:51 河北
条理清楚代码简洁,大佬请收下我的膝盖
点赞 回复 分享
发布于 2024-01-17 22:41 湖南
大佬写的真好,但是讲道理,题目说【记录最多8条错误记录,循环记录,最后只用输出最后出现的八条错误记录】,这个程序的话,如果错误超过100条,就不好使了...
点赞 回复 分享
发布于 2023-11-09 21:20 宁夏
大佬为啥i<=rindex ,初始状态,0<=-1?
点赞 回复 分享
发布于 2023-03-21 09:45 上海
大佬为什么是\\而不是\呢
点赞 回复 分享
发布于 2023-03-16 11:37 山西
代码写得优雅漂亮,nb
点赞 回复 分享
发布于 2022-04-10 15:51
大佬nb
点赞 回复 分享
发布于 2022-03-04 00:57

相关推荐

2025-12-19 14:39
成都东软学院 Java
点赞 评论 收藏
分享
评论
16
7
分享

创作者周榜

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