
ACM中的runtime error,怎么解决?
#include<stdio.h>#include<string.h>intmain(){chara[6],b[6];inti,s(1),q(1),x,y;gets(a)...
#include <stdio.h>
#include <string.h>
int main()
{
char a[6],b[6];
int i,s(1),q(1),x,y;
gets(a);
gets(b);
x=strlen(a);
y=strlen(b);
for(i=0;i<x;i++)
{ a[i]=a[i]-64;
s=s*a[i];
}
for(i=0;i<y;i++)
{
b[i]=b[i]-64;
q=q*b[i];
}
s=s%47;
q=q%47;
if(s==q)
printf("GO\n");
else
printf("STAY\n");
return 0;
}
举例来说,团体 "USACO" 会是 21*19*1*3*15=17955 。 如果团体的数字 mod 47 等于慧星的数字 mod 47,那么你要告诉这个团体准备好被带走 !
写一个程序读入慧星的名字和团体的名字,如果搭配打印"GO"否者打印"STAY"
团体的名字和慧星的名字将会是没有空格或标点的一串大写字母(不超过6个字母),
Input Output
COMETQHVNGAT
GO
ABSTARUSACO
STAY
Input
输入包括两行:
第1行:彗星的名字(一个长度为1到6的字符串)
第2行:团体的名字(一个长度为1到6的字符串)
Output
单独一行包含"STAY"或"GO".
Sample Input
COMETQ
HVNGAT
Sample Output
GO 展开
#include <string.h>
int main()
{
char a[6],b[6];
int i,s(1),q(1),x,y;
gets(a);
gets(b);
x=strlen(a);
y=strlen(b);
for(i=0;i<x;i++)
{ a[i]=a[i]-64;
s=s*a[i];
}
for(i=0;i<y;i++)
{
b[i]=b[i]-64;
q=q*b[i];
}
s=s%47;
q=q%47;
if(s==q)
printf("GO\n");
else
printf("STAY\n");
return 0;
}
举例来说,团体 "USACO" 会是 21*19*1*3*15=17955 。 如果团体的数字 mod 47 等于慧星的数字 mod 47,那么你要告诉这个团体准备好被带走 !
写一个程序读入慧星的名字和团体的名字,如果搭配打印"GO"否者打印"STAY"
团体的名字和慧星的名字将会是没有空格或标点的一串大写字母(不超过6个字母),
Input Output
COMETQHVNGAT
GO
ABSTARUSACO
STAY
Input
输入包括两行:
第1行:彗星的名字(一个长度为1到6的字符串)
第2行:团体的名字(一个长度为1到6的字符串)
Output
单独一行包含"STAY"或"GO".
Sample Input
COMETQ
HVNGAT
Sample Output
GO 展开
2个回答
展开全部
这个一般是数组越界问题,你把数组开大点,数据会越界,所以把求余放到循环里面去传递求于。这是我改的代码:
#include <stdio.h>
#include <string.h>
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<x;i++)
{ a[i]=a[i]-64;
s=(s*a[i])%47;
}
for(i=0;i<y;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;
}
试试看。祝你好运!
#include <stdio.h>
#include <string.h>
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<x;i++)
{ a[i]=a[i]-64;
s=(s*a[i])%47;
}
for(i=0;i<y;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;
}
试试看。祝你好运!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询