请使用cin读入
by lovely_fcukh @ 2023-07-16 13:01:38
@[battlefield5](/user/1036897) 很显然,p 数组只有26的长度,但是你枚举到 30,就会越界。
by while_true @ 2023-07-16 13:02:42
@[battlefield5](/user/1036897) 两个循环改成这样就行了:
```cpp
for(int i=0;i<le1;i++){
for(int j=1;j<=26;j++){
if(a[i]==p[j]){//查找字符,找到后相乘
s1*=j;
}
}
}
for(int i=0;i<le2;i++){
for(int j=1;j<=26;j++){
if(b[i]==p[j]){
s2*=j;
}
}
}
```
by while_true @ 2023-07-16 13:03:29
@[battlefield5](/user/1036897) 你的程序还有两点忠告:
1. 尽量使用`string`,并用`cin`读入,在`main()`开头加上以下代码可以大大提升读入速度:
```cpp
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
```
2. 你的双重循环和 p 数组根本没有意义,可以改成:
```cpp
for(int i=0;i<le1;i++){
s1*=(a[i]-'A'+1);
}
for(int i=0;i<le2;i++){
s2*=(b[i]-'A'+1);
}
```
by while_true @ 2023-07-16 13:08:14
ac了,谢谢谢谢
by battlefield5 @ 2023-07-16 13:12:31