ACM中的runtime error,怎么解决?

2024-12-16 09:31:05
推荐回答(2个)
回答1:

这个一般是数组越界问题,你把数组开大点,数据会越界,所以把求余放到循环里面去传递求于。这是我改的代码:
#include
#include
int main()
{
char a[10],b[10];
int i,s(1),q(1),x,y;
gets(a);
gets(b);
x=strlen(a);
y=strlen(b);
for(i=0;i { a[i]=a[i]-64;
s=(s*a[i])%47;

}
for(i=0;i {
b[i]=b[i]-64;
q=(q*b[i])%47;
}
//s=s%47;
//q=q%47;
if(s==q)
printf("GO\n");
else
printf("STAY\n");

return 0;
}
试试看。祝你好运!

回答2:

char a[6],b[6];
以上定义限制输入的长度不能超过5,超过则出现runtime error。要按题目中输入的最大长度来定义。