对第二个测试点的血泪控诉

P1055 [NOIP2008 普及组] ISBN 号码

庄nnnn额 @ 2021-07-09 11:58:17

这两个输出一模一样,他却给我判错!!!


by 庄nnnn额 @ 2021-07-09 11:59:51

程序:

#include <bits/stdc++.h>
using namespace std;
int a[10];
int main(){
    int n,sum;
    char ne;
    scanf("%1d-%1d%1d%1d-%1d%1d%1d%1d%1d-",a+1,a+2,a+3,a+4,a+5,a+6,a+7,a+8,a+9,&n);
    scanf("%c",&ne);
    if(ne=='X')n=10;
    else n=ne-48;
    for(int i=1;i<10;i++)sum+=a[i]*i;
    sum%=11;
    if(sum==n)printf("Right");
    else printf("%d-%d%d%d-%d%d%d%d%d-%d",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],sum);
    return 0;
}

by qqqqq111 @ 2021-07-09 12:25:18

请不要质疑通过92.20k的题目(


by honey_ @ 2021-07-09 13:21:20

@ZhuangnnnnE 两个错误,第一个是sum没有初始化(非全局变量,变量初始值不为0),第二个是最后判断如果sum==10 && n==10应该识别码输出X,而您的代码输出10


by zhouchisong @ 2021-07-12 12:25:21

sum没初始化为零


by 沃焦住就M @ 2021-08-28 10:51:24

@zhouchisong 666


|