校验位码

来源:百度知道 编辑:UC知道 时间:2024/06/22 21:54:43
题目:
设ABCDEFG为人员代码前7位,H为人员代码的校验位。试求计算原代码为4365216,权数:19,17,13,11,7,5,3,模数取13时得校验位。并编写相应得计算机程序及测试用例。

希望各位能给我一个正确得答案~~谢谢了!!

我有个图书校验码的foxpro程序,如果你要学习一下,可以参考
以下内容存为一个prg文件,取名为isbn10.prg
*调用方法:在foxpro命令行敲?isbn10('750539667'),返回7505396676
para hao
hao=alltrim(hao)
hao=iif(left(hao,3)='978',substr(hao,4,9),substr(hao,1,9))
if len(hao)<9
return 'error'
endif
jia=val(substr(hao,1,1))*10+val(substr(hao,2,1))*9+val(substr(hao,3,1))*8+val(substr(hao,4,1))*7+val(substr(hao,5,1))*6+val(substr(hao,6,1))*5+val(substr(hao,7,1))*4+val(substr(hao,8,1))*3+val(substr(hao,9,1))*2
gewei=11-mod(jia,11)
jiaoyan=iif(gewei=11,'0',iif(gewei=10,'x',alltrim(str(gewei))))
RETURN HAO+JIAOYAN

这个规则和你的有一点区别,权数为10,9,8,7,6,5,4,3,2,模数取11时得校验位
你修改一下就可以用了,学习方法比结果重要,对吧。