C语言,救救孩子

P1055 [NOIP2008 普及组] ISBN 号码

zhaoanqiEtayo @ 2023-07-08 19:32:16

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a,b,c,d,e,f,g,h,i,s;
    char j;
    scanf("%d-%d%d%d-%d%d%d%d%d-%c",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
    s=1*a+2*b+3*c+4*d+5*e+6*f+7*g+8*h+9*i;
    if(s%11!=10)
    {
        if(s%11==j)
        {
            printf("Right");
         }    
        else
        {
            printf("%d-%d%d%d-%d%d%d%d%d-%d",a,b,c,d,e,f,g,h,i,s%11);    
        }
    }
    else
    {
        if(j='X');
        {
             printf("Right");
        }
        else
        {
            printf("%d-%d%d%d-%d%d%d%d%d-X",a,b,c,d,e,f,g,h,i);    
        }
    }
    return 0;
}

by Henry2012 @ 2023-07-08 19:34:40

if(j='X');

???


by dsfgsdf @ 2023-07-08 19:47:01

@Henry2012 题面中说:如果识别码为10,就用“X”代替


by Henry2012 @ 2023-07-08 19:49:26

要是==,而且后面多了一个分号


by Heartstrings @ 2023-07-08 19:50:15

@lfxxzms 不是 是他的判断只写了一个等号……


by Henry2012 @ 2023-07-08 19:52:06

scanf("%d-%d%d%d-%d%d%d%d%d-%c",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);

还要改成

scanf("%1d-%1d%1d%1d-%1d%1d%1d%1d%1d-%c",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);

才能输入单个数字


by Henry2012 @ 2023-07-08 19:53:41

话说楼主呢 @zhaoanqiEtayo


by dsfgsdf @ 2023-07-08 19:54:09

这个雀食啊! 我还是以为你们不知道什么‘X’。 @Henry2012 @lonely_conqueror


by dsfgsdf @ 2023-07-08 19:57:30

其实用%c也是可以的,因为有‘x’的存在嘛,用字符也是可以的


by dsfgsdf @ 2023-07-08 19:59:12

就是后期处理时需要按照字符转数字的流程处理一遍


by dsfgsdf @ 2023-07-08 19:59:43

@zhaoanqiEtayo


| 下一页