#include
using namespace std;
const int N = 205, L = 1005;
int n; // 字符串总数,随着创造会增长
struct Str{
int len; // 字符串长度
char a[L]; // 字符串
} s[N];
int m; // 操作总数
void create1(int x){
++n;
s[n].len = s[x].len;
for(int i = 0; i < s[x].len; ++i){
if(s[x].a[i] >= 'a' && s[x].a[i] <= 'z')
s[n].a[i] = s[x].a[i] - 'a' + 'A';
else
s[n].a[i] = s[x].a[i];
}
}
/*
补全其余未定义的函数
*/
int main() {
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; ++i){
scanf("%s", s[i].a);
s[i].len = strlen(s[i].a);
}
for(int i = 1; i <= m; ++i){
int op, x, y;
scanf("%d", &op);
if(op == 1){
scanf("%d", &x);
create1(x);
}
else if(op == 2){
scanf("%d%d", &x, &y);
create2(x, y);
}
else if(op == 3){
scanf("%d", &x);
create3(x);
}
else if(op == 4){
scanf("%d", &x);
printf("%s\n", s[x].a);
}
else if(op == 5){
scanf("%d", &x);
printf("%d\n", s[x].len);
}
else if(op == 6){
scanf("%d%d", &x, &y);
if(sub(x, y))
printf("yes\n");
else
printf("no\n");
}
}
return 0;
```
reate2(),create3()和sub()这个三个函数是不是没实现
不知道你这个问题是否已经解决, 如果还没有解决的话: