题解 | #[NOIP2008]ISBN号码#

[NOIP2008]ISBN号码

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

#include <stdio.h>
#include<malloc.h>
#include<string.h>

int main() {
   char str[13];
    scanf("%s", str);

    int sum = 0;
    for (int i = 0, j = 1; i < 11; i++) {
        if (str[i] >= '0' && str[i] <= '9') { //是数字
            sum += ( str[i] - '0') * j;
            j++;
        }

    }
    if (sum % 11 == str[12] - '0' || (sum % 11 == 10 && str[12] == 'X'))
        printf("Right\n");
    else {
        if (sum%11 == 10) {   //如果余数为10,则识别码为大写字母X
            for (int i = 0; i < 12; i++) {
                printf("%c", str[i]);

            }
            printf("X");

        } else {
            for (int i = 0; i < 12; i++) {
                printf("%c", str[i]);
            }
            printf("%d", sum % 11);
        }
    }
}

C语言刷题 文章被收录于专栏

自己从头开始刷的C语言

全部评论

相关推荐

05-30 12:03
山西大学 C++
offer来了我跪着接:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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