Hi_Wind @ 2021-10-07 23:15:27
代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
//定义、输入
string ISBN;
cin >> ISBN;
int judge; //记录根据输入的ISBN计算出的识别码
int num[9]; //用来存放ISBN中的所有数字
int k = 0;
for (int i = 0; i < 9; i++)
{
if (ISBN[k] != '-')
{
num[i] = (ISBN[k] - 48);
}
else
i--;
k++;
}
//计算 judge 的值
for (int i = 0; i < 9; i++)
judge = judge + (i + 1) * num[i];
judge = judge % 11;
//判断
if (judge != 10)
{
if (judge == (ISBN[12] - 48))
cout << "Right";
else
{
ISBN[12] = (judge + 48);
cout << ISBN;
}
}
else
{
if ('X' == ISBN[12])
cout << "Right";
else
{
ISBN[12] = 'X';
cout << ISBN;
}
}
return 0;
}
测试点在vsc上能输出正确结果,并且我也下载了第一个WA的数据,然后再次在vsc上测试,发现仍然能够输出正确结果,但为什么这一串代码放在洛谷上就是错误的? 写自闭了
by Surelysuper @ 2021-10-07 23:30:44
@LV丶Coding 使用洛谷在线IDE试试?
by zmza @ 2021-10-08 07:45:28
@LV丶Coding 您的 judge
初始值没有赋值成0。
by Hi_Wind @ 2021-10-08 10:57:59
@张茗祖 谢谢,谢谢,赋初值后就全部AC了
by Hi_Wind @ 2021-10-08 10:58:33
@Surelysuper okk,我下回试试洛谷在线IDE,我以前不知道有这个东西