求助,悬赏一光

P1055 [NOIP2008 普及组] ISBN 号码

zxbsdkk9468 @ 2023-11-21 16:31:39

样例全过,但是提交全错,```c

include <stdio.h>

int main() { char mcn[100]; int qrt[10],j=0,sum; scanf("%s",mcn); for(int i=0;mcn[i];i++) { if(mcn[i]!='-') { qrt[j]=mcn[i]-'0'; j++; } } for(int i=0;i<9;i++) { for(int j=1;j<10;j++) { sum+=j*qrt[i]; } } if((sum%11)==qrt[9]) printf("Right"); else if((sum%11)==10) { for(int i=0;i<12;i++) printf("%c",mcn[i]); printf("X\n"); } else { for(int i=0;i<12;i++) printf("%c",mcn[i]); printf("%d\n",sum%11); } return 0; }


by One_JuRuo @ 2023-11-21 16:34:30

@zxbsdkk9468

首先,你代码块错了。

第二,

char mcn[100];
    int qrt[10],j=0,sum;
    scanf("%s",mcn);
    for(int i=0;mcn[i];i++)
    {
        if(mcn[i]!='-')
         {
            qrt[j]=mcn[i]-'0';
            j++;
        }
    }
    for(int i=0;i<9;i++)
    {
        for(int j=1;j<10;j++)
        {
            sum+=j*qrt[i];
        }
    }

你的 j 是从 0 开始的,为什么循环会从 1 开始?


by zxbsdkk9468 @ 2023-11-21 16:43:31

@One_JuRuo 因为我要从1开始做乘法,代码块错了什么意思哦


by Lcx_AK_IOI @ 2023-11-21 16:47:23

发帖有一个长这样的按键:</>

按了之后选择代码语言,

把代码复制上去,点确定


by One_JuRuo @ 2023-11-21 16:49:13

@zxbsdkk9468 那你 j 初值赋为 1 啊。


by zxbsdkk9468 @ 2023-11-21 16:50:20

@Lcx_AK_IOI 谢谢


by Lcx_AK_IOI @ 2023-11-21 16:51:12

@zxbsdkk9468 没事


by zxbsdkk9468 @ 2023-11-21 16:51:58

@One_JuRuo 我首先将字符串里面的数字提取出来所以j=0;后买你在做乘法就从j开始了


by One_JuRuo @ 2023-11-21 16:53:57

@zxbsdkk9468 哦,是我看错了,但是你算的是每个数字乘以 1,2,3\cdots 9 的答案啊。


by FL_sleake @ 2023-11-21 16:56:48

诶,我怎么记得kkk加了一个代码格式错误不让发帖的功能?

免责声明:可能记错。


by One_JuRuo @ 2023-11-21 16:59:02

@FL_sleake 大概是他确实有加代码块的点,但是没有写正确,然后 hack 了 kkk 的代码(


| 下一页