题解 | #简单错误记录#

简单错误记录

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

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

int main(void) 
{
    int i=0, j;
    int n;
    int x,y;
    int num [100];                //错误出现次数计数,相同仅最早一个有效
    for(i=0;i<100;i++)
    {
        num [i]=0;
    }
    i=0;

    int l [100];                  //接收行数信息
    char arr [100][17];           //接收文件名信息
    for(x=0;x<100;x++)            //初始化为'\'字符
    {
        for(y=0;y<16;y++)
        {
            arr[x][y]='\\';
        }
        arr[x][16]='\0';          //文件名末尾增加结束位
    }

    char tmp [100];
    while (scanf("%s",tmp)!=EOF)   //接收文件名
    {  
        scanf("%d",&l[i]);         //接受行数
        num [i]=1;                 //出现次数计数
        n=strlen(tmp);             //当前输入文件名字符串长度

        for(j=0;j<16;j++)           //只接受后16个字符
        {
            if(tmp[n-1-j]=='\\')    //转义字符'\'
            {
                break;
            }
            else 
            {
                arr[i][15-j]=tmp[n-1-j];    //当前接收文件名写入二维数组
                
            }    
        }    
        i++;
        n=0;                                //置零
    }
    for(x=1;x<i;x++)
    {
        for(y=0;y<x;y++)
        {
            
            if(strcmp(arr[x], arr[y])==0&&l[x]==l[y]&&num[y]!=0)  //比较文件名后16位及行数
            {                                      //检查是否已经清零排除两个以上重复可能性
                num[x]=0;                              //本行计数清零
                num[y]++;                              //之前计数加一 
        
            }
        }
    }

    //printf("%d,%d,%d\n",i,x,y);


    for(x=i-1,j=0;(x>-1&&j<8) ;x--)       //从后向前计数,x=0时不可能为0
    {
        if(num[x]!=0)
        {
            j++;
        }
    }                 

    for(j=x+1;j<i;j++)                  //要输出的第一条 x+1
    {
        if(num[j]!=0)
        {
            for(y=0;y<16;y++)
            {
            if(arr[j][y]!='\\')
            {
                printf("%c",arr[j][y]);
            }
            
            }
            printf(" %d %d\n",l[j],num[j]); 
        }
    }
    return 0;
}

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务