为什么只有七十???

P1055 [NOIP2008 普及组] ISBN 号码

LiuzXan @ 2022-07-30 12:31:53

如题,代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char a[12];
    cin>>a;
    int b=(a[0]-48)*1+(a[2]-48)*2+(a[3]-48)*3+(a[4]-48)*4+(a[6]-48)*5+(a[7]-48)*6+(a[8]-48)*7+(a[9]-48)*8+(a[10]-48)*9;
    b%=11;
    char c;
    if(b==10)
        c='X';
    else
        c=b+48;
    if(a[12]==c)
        cout<<"Right";
    else
        cout<<a[0]<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<a[11]<<c;
} 

第一个测试点在本地上是对的.


by LiuzXan @ 2022-07-30 12:33:10

他输出是Right而我的输出也是


by _Ad_Astra_ @ 2022-07-30 12:39:41

if(a[12]==c) cout<<"Right";


by ZzZzRr @ 2022-07-30 12:40:54

@LiuzXan 数组开小了


by LiuzXan @ 2022-07-30 12:42:05

感谢各位大佬,是数组开太小了,已AC


|