易楷为?
by CraZYali @ 2016-07-04 17:43:19
甚么鬼,我根本看不懂
by CraZYali @ 2016-07-04 17:44:02
这是我的:
```cpp
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main(){
char a[10],b[10];
long long i,c=1,d=1;
gets(a);gets(b);
for(i=0;a[i]!='\0';i++) c*=(int)a[i]-64;
for(i=0;b[i]!='\0';i++) d*=(int)b[i]-64;
if((c%47)==(d%47)) cout<<"GO";
else cout<<"STAY";
return 0;
}
```
by CraZYali @ 2016-07-04 17:44:46
易楷为,确实学了很多东西哦。
但你的程序能得50分我很惊讶,
因为你的程序本该只有0分,
输入后直接报错。
原因:因为c字符数组只能容纳5个字符(char a[i+1]只能容纳i个字符),爆数组会报错
其次是c[i]不是c[j],数组下标里有未知数会直接报错
有两处==打成=,会造成输出错误或者陷入死循环
以及最后m=k写成k=m,同上
然后回车也是一个字符,你的输入方法会把回车读入,造成输出错误。推荐使用gets
注意:定义任何形式的数组一定要确定初始值,包括全部为0。
有些关于求余的最好算一步求一步余(不然容易爆)
by lzr20040310 @ 2016-07-04 20:37:43