CHkuakeU @ 2024-10-20 21:41:21
全爆
代码如下:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[10];
int sum=0,tp=0;
char leg;
char g,h,w;
scanf("%d-%d%d%d-%d%d%d%d%d-%c",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],leg);
if(leg=='X')
{
tp=10;
}
else
{
tp=leg-'0';
}
for(int i=1;i<=9;i++)
{
sum+=a[i]*i;
}
sum%=11;
if(sum==tp)
{
cout<<"Right";
}
else if(tp!=10)
{
cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-"<<tp;
}
else
{
cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-X";
}
}
by wuyuxuan12345678 @ 2024-10-20 21:42:25
把a[10]开大点,比如a[100]
by CHkuakeU @ 2024-10-20 21:43:39
@wuyuxuan12345678 好的谢谢
by CHkuakeU @ 2024-10-20 21:44:20
@wuyuxuan12345678 这下全WA了
by wuyuxuan12345678 @ 2024-10-20 21:45:35
by wuyuxuan12345678 @ 2024-10-20 21:46:33
你先加个return 0试试
by wuyuxuan12345678 @ 2024-10-20 21:47:39
你这个scanf("%d-%d%d%d-%d%d%d%d%d-%c",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],leg);不能这么写吧
by wuyuxuan12345678 @ 2024-10-20 21:49:41
您可以用string leg直接输入整个字符串,再用个循环判断-和数字
by CHkuakeU @ 2024-10-20 21:51:30
@wuyuxuan12345678 谢谢,已
问题就出在改了之后的cin和输出上
最后结尾的判断和输出应该是sum而非tp