题解 | #[NOIP2008]ISBN号码#

[NOIP2008]ISBN号码

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

#include <stdio.h>
#include <string.h>
#define N 15

int main() {
    char str[N] = { 0 };

    while (~scanf("%s", str)) {
        // 记录识别码
        int sum = 0;
        // 相乘的数字
        int count = 1;

        // 获取识别码
        for (int i = 0; i <= strlen(str) - 2; i++) {
            if (((str[i] - 48) >= 0) && ((str[i] - 48) <= 9)) {
                sum += ((str[i] - 48) * count);
                count++;
            }
        }
        //比较通过计算的识别码与输入的识别码
        // 正确的识别码下输入Right
        if (sum % 11 == 10 && 'X' == str[strlen(str) - 1]) {
            printf("Right\n");
        } else if ((sum % 11) == str[strlen(str) - 1] - 48) {
            printf("Right\n");
        } else {
            // 错误识别码下的输入
            if (sum % 11 != 10 && 'X' == str[strlen(str) - 1]) {
                str[strlen(str) - 1] = (sum % 11) + '0';
                printf("%s\n", str);
            } else if (sum % 11 == 10 && 'X' != str[strlen(str) - 1]) {
                str[strlen(str) - 1] = 'X';
                printf("%s\n",str);
            }
             else
            {
                str[strlen(str) - 1] = sum % 11 + '0';
                printf("%s\n",str);
            }
        }
    }

    return 0;
}

全部评论

相关推荐

2025年初,新的一年开始,我给自己暗暗打气,发誓今年一定要拿到offer。如今2025年即将结束,找工作仍然没有任何水花,如今的失意和落魄和年初信心满满的姿态形成鲜明对比,想必也是因为被社会毒打,认清现实了吧。先分享一下贴主的背景,本人女,本科末流985文科专业,后来保送到华五,成绩一直是班级第一,有过国奖,实习有多段头部大厂经历。发贴的直接原因是今天华为面试挂,在反思中有很多复杂的想法,包括对自身能力的怀疑、对面试官所提问题的不解、对大环境的无奈。贴主是一个说话温柔、不喜欢咄咄逼人、有点社恐的人(基本上算是人们眼中对小女生的刻板印象,所以在历次群面中基本全挂(看到大家争抢当leader、t...
在找内推的小虾米:感觉这一段经历和我好像啊,前段时间面了很多车企,面试项目经历各种被拷打,大多数都没过一面,最有希望拿offer的一个终面挂了把我干破防了,打电话给爸妈哭了一个多小时才缓过来。我也开始否定自己,否定自己的一切,包括性格,能力,成长经历。。。最后面了深圳的某家公司,面试官人都挺友好,提的问题有深度但找到切入点 ,最后hr也按岗位最高的标准给的offer,我才发现自己并没有这么不堪,只是我的能力和经验和之前的岗位要求不那么符合而已。帖主一定不要灰心,招聘的窗口期还有很长很长,保持自信扬长避短,一定有企业能发现你的闪光点,祝好。
我的求职进度条
点赞 评论 收藏
分享
酷酷的喜马拉雅山:感觉这比一直在初筛不动的好多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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