题库首页 › GESP等级认证(C++) › 题目 25347

学校图书馆的借阅卡号由6位整数组成。前5位是顺序编号,第6位是校验码,用于防止输错。校验码规则 如下:将前5位数字相加,然后除以10的余数,就是第6位数字。如卡号 123455 的前5位之和为 15 ,除以 10 的余 数是5,故第6位为5。下面的C++代码段用于判断卡号是否正确,横线处应填入的代码是( )。 cout > N; order_num = N / 10; // 获得前5位顺序号,假设录入一定为6位正整数 check_num = N % 10; // 获得最后一位 tnt = 0; // 保存前5位之和 for (i = 0; i < 5; i++){ ________________; order_num /= 10; } if (__________________) cout << "符合校验规则"; else cout << "不符合校验规则";

A:tnt += order_num / 10 tnt / 10 == check_num
B:tnt += order_num % 10 tnt % 10 == check_num
C:tnt = order_num / 10 + tnt tnt % 10 == check_num
D:tnt = order_num % 10 tnt / 10 == check_num

正确答案:B

答案解析

首先分离前5位数字与第6位校验码。通过循环逐位提取前5位数字,每次取个位值并累加到总和中,之后将原数整除10以右移一位。循环次数由前5位决定,需执行5次。每轮取出当前个位数字并加入总和。最终判断累加和对10取余的结果是否等于校验码。整个过程基于数值运算完成数字拆解与验证逻辑。

试卷来源:202603 CCF-GESP编程能力等级认证C++二级真题

本卷相关题目

在线做题 同科目题库