为什么会错啊,我在vsc上跑的例子是对的
查看原帖
为什么会错啊,我在vsc上跑的例子是对的
562683
Hi_Wind楼主2021/10/7 23:15

代码如下:

#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上测试,发现仍然能够输出正确结果,但为什么这一串代码放在洛谷上就是错误的? 写自闭了

2021/10/7 23:15
加载中...