题解 | #简单错误记录#
简单错误记录
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;
}
查看3道真题和解析