题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
#include <stdio.h>
#include <string.h>
#define _COUT 17
void FileNameCut(char *filename,char *outarray){
int length = strlen(filename);
if(length<16){
strcpy(outarray,filename);
return;
}else{
strcpy(outarray,&filename[length-16]);
return;
}
}
int main() {
char InputUrl[101] = {0x00} ,Filename[101] = {0x00} ,CutName[17] = {0x00};
char CompleteFlag = 0;
int ErrorLine = 0;
//int namelocat = 0;
static int CurrLocat = 0;
static char Output[100][18] = {0};
static int ErrLines[8] = {0};
while(scanf("%s %d",InputUrl,&ErrorLine) != EOF){
strcpy(Filename,strrchr(InputUrl,'\\')+1);
FileNameCut(Filename,CutName);
for(int i=0;i<CurrLocat;i++){
if((strcmp(Output[i],CutName) == 0)&&(ErrorLine == ErrLines[i])){
Output[i][_COUT] ++;
CompleteFlag = 1;
break;
}
}
if(CompleteFlag == 1){
CompleteFlag = 0;
continue;
}
strcpy(Output[CurrLocat],CutName);
ErrLines[CurrLocat] = ErrorLine;
Output[CurrLocat][_COUT] = 1;
CurrLocat ++;
}
for(int i=CurrLocat-8;i<CurrLocat;i++){
if(i<0) continue;
if(Output[i][_COUT] != 0)
printf("%s %d %d\n",Output[i],ErrLines[i],Output[i][_COUT]);
}
}

查看16道真题和解析