题解 | #[NOIP2008]ISBN号码#

[NOIP2008]ISBN号码

https://www.nowcoder.com/practice/95712f695f27434b9703394c98b78ee5

#include <stdio.h>

int main() {
    int lan,press,number;
    char X;
    scanf("%d-%d-%d-%c",&lan,&press,&number,&X);//最后一位按字符形式输入
    int sum = lan*100000000+press*100000+number;//把9位数字转换成大整数
    int s = 0;  //求各个位数乘完求和
    int arr[9];//定义一个数组,把大整数遍历放入数组中
        for(int i = 8;i >= 0; i--)
        {
            arr[i] = sum%10;//对大整数依次取余从各位开始依次放入数组
            s = s+arr[i]*(i+1);//对数组中每一位计算
            sum = sum/10;//对大整数左移位
        }
       if(s%11==10)
       {
        if(X=='X')
        printf("Right\n");
        else
         printf("%d-%d-%d-X\n",lan,press,number);
       }
       else//当得出的整数不是10时
       {
        if(s%11==X-'0')//在ASCII中0为48,例如2在ASCII中为50,转换成数字就是要减去48
        printf("Right\n");
        else
         printf("%d-%d-%d-%d\n",lan,press,number,s%11);
       } 
        
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 12:05
俺不中了,BOSS遇到了一个hr,我觉得我咨询的问题都很正常吧,然后直接就被拒绝了???
恶龙战士:你问的太多了,要不就整理成一段话直接问他,一个一个问不太好
点赞 评论 收藏
分享
06-24 19:27
云南大学 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 14:10
啊啊啊啊好幸福,妈妈是我找工作发疯前的一束光
榕城小榕树:你是我见过最幸福的牛客男孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务