题解 | #简单错误记录#
简单错误记录
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; }