每一本书都有一个ISBN码,ISBN的格式为“x-xxx-xxxxx-x”,它包括9位数字、1位校验码和3位分隔符,最后一位是校验码,例如0-670-82164-4,最后一位数字4就是校验码。用首位数字乘以1加上次位数字乘以2……以此类推,将所得的结果用11求余,所得的余数即为校验码,如果余数为10,则校验码为X。如何计算一ISBN的校验码,判断所给的校验码是否正确呢?小编以C++为例,与大家分享编程经验。
工具/原料
C++
方法/步骤
1
输入窗口中输入一个ISBN码,计算机判断它的校验码是否正确,如果正确则输出校验码正确,如果错误,则输出正确的ISBN码。
2
定义三个整型变量,实现计数、乘积和保存总数和。
3
定义两个字符型变量,保存ISBN的各字符,以及计算出校验码的值。
4
接着,将ISBN的各字符输入到变量中,用for循环实现输入。
5
逐个读入ISBN字符,保存在数组m中。
6
用for循环控制求和,计算出ISBN各位数字乘以系数后的累加和。
7
用求余的方法,计算出校验码的数值。
8
将数值转换为字符,保存在变量c中。
9
如果计算出的校验码值是10,则将值更改为X。
10
用if语句判断,如果校验码正确,则输出提示校验码正确。
11
最后,如果校验码错误,则输出正确的ISBN码值。
12
测试程序,当输入ISBN的校验码正确则输出校验码正确,如果错误则输出正确的ISBN码。
注意事项
作者声明:本篇经验系本人辛勤劳动的原创成果,未经许可,谢绝转载。
上一篇:利用excel制作条形码的方法
下一篇:ASCII码对应表