把-64改成-'A'+1
by i_am_a_joker @ 2019-12-03 16:11:11
你用把str和str1定义成string型的。不过这样的话下面程序也要有所改动。你可以试试,不行再问问别人。
by bulijoijoidibuliduo @ 2019-12-03 17:03:12
@[China_Jingzhiyuan](/user/245089) 好像没用,话说这不是一样的吗。。。
by 时光深巷1 @ 2019-12-03 21:11:33
你看看我的
```cpp
#include<iostream>
#include<cstring>
using namespace std;
int main(){
char a[1001],b[1001];
int sum=1,ans=1;
cin>>a>>b;
for(int i=0;i<strlen(a);i++){
sum*=a[i]-'A'+1;
}
for(int i=0;i<strlen(b);i++){
ans*=b[i]-'A'+1;
}
sum%=47;
ans%=47;
if(sum==ans) cout<<"GO";
else cout<<"STAY";
return 0;
}
```
by i_am_a_joker @ 2019-12-03 21:31:36
@[China_Jingzhiyuan](/user/245089) 谢了,我过了
```c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char str[7],str1[7];
int mul=1,mul2=1,i,a,b;
scanf("%s",str);
scanf("%s",str1);
a=strlen(str);
b=strlen(str1);
for(i=0;i<a;i++)
mul*=(str[i]-64);
for(i=0;i<b;i++)
mul2*=(str1[i]-64);
mul%=47;
mul2%=47;
if(mul==mul2)
printf("GO");
else
printf("STAY");
system("pause");
}
```
by 时光深巷1 @ 2019-12-03 22:11:20
@[Wsy071113](/user/169574) 谢谢,我已经解决了
by 时光深巷1 @ 2019-12-03 22:13:30
其实是你刚开始那个代码应该写(str[i]!='\0')而不是0
by LDH201314 @ 2019-12-14 20:37:01