又是一道考验细心和耐心的题,不知道哪里出问题了,一直只有90分 = =!
#include<cstdio> #include<iostream> #include<cstring> using namespace std; char a[100][85]; char name[205][105]; int main() { int m,n; char *p; scanf("%d%d",&m,&n); getchar(); for(int i = 0;i < m;i++) gets(a[i]); for(int i = 0;i < 2*n;i += 2) { scanf("%s",name[i]); getchar(); getchar(); gets(name[i+1]); p = name[i+1]; while(*p != ‘"‘) p++; *p = 0; } for(int i = 0;i < m;i++) { p = a[i]; while(*p != 0) { if(*p == ‘{‘ && *(p+1) == ‘{‘) { p += 3; char *temp = p; int num = 0; while(!(*p == ‘ ‘ && *(p+1) == ‘}‘ && *(p+2) == ‘}‘)) { num++; p++; } p += 3; for(int j = 0;j < 2*n;j++) { if(num == strlen(name[j]) && !strncmp(name[j],temp,num)) printf("%s",name[j+1]); } } else { putchar(*p); p++; } } putchar(‘\n‘); } return 0; }
时间: 2024-10-17 21:39:32