• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

哪位大神能帮忙给出的代码,拜托了~

校验码的计算方法

1.假设某ISBN号码前11位是:7-309-04547;     
2.计算加权和S:S=7×10+3×9+0×8+9×7+0×6+4×5+5×4+4×3+7×2 = 226;     
3.计算S÷11的余数M:M = 226 mod 11 = 6;     
4.计算11-M的差N:N = 11 ? 6 = 5   
如果N=10,校验码是字母“X”;     
如果N=11,校验码是数字“0”;     
如果N为其他数字,校验码是数字N。   
所以,本书的校验码是5。
13位ISBN的最后一位校验位的加权算法与10位ISBN的算法不同。具体算法是:用1分别乘ISBN的前12位中的奇数位,用3乘以偶数位,成绩之和以10为模,用10减去此模,即可得到校验位的值,其值范围应该为0-9
1.假设某13位ISBN号码前15位(包含‘-’符号)是:987-7-309-04547;     
2.位置为123-4-567-89(10)(11)(12)     
3.计算加权和S:S=9×1+8×3+7×1+7×3+3×1+0×3+9×1+0×3+4×1+5×3+4×1+7×3 = 117;     
4.计算S÷10的余数M:M = 117 mod 10 = 7;     
5.计算10-M的差N:N = 10 -7 = 3     (如果10-M的值为10则校验码取0)
6.所以,本书的13位ISBN的校验码是3。
输入一个13位ISBN代码,验证其代码的正确性。
n如果正确,则输出“YES”,否则输出错误信息“NO”。
程序必须采用类的方法完成,程序中必须含有和使用三个基本类成员函数:input()输入数据,computer()计算结果,show()显示结果,函数的返回值和参数根据需要自己可以确定需要与否,如果不用类的方法或没有使用上面的函数,该题不给分。
输入
每行一个测试数据,表示一个13位ISBN的号码(包含‘-’符号)。
输出
根据验证规则,计算其正确性,如果正确,则输出“YES”,否则输出错误信息“NO”。
样例输入
978-7-302-08599-7
样例输出
YES

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!