首页 > 专栏

什么是isbn

更新时间:2023-03-19 01:45:55 阅读: 评论:0

家长对老师的建议-北京社保缴费比例

什么是isbn
2023年3月19日发(作者:和天气)

ISBN号码

题⽬描述

每⼀本正式出版的图书都有⼀个ISBN号码之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的

减号),最后⼀位是识别码,例如0-670-82162-4就是⼀个标准的ISBN码。ISBN码的⾸位数字表⽰书籍的出版语⾔,例如0代表英语;第⼀个分隔符“-”之后的三位数字代

表出版设,例如670代表维京出版社;第⼆个分隔之后的五位数字代表该书在该出版社的编号;最后⼀位为识别码。

识别码计算⽅法如下:

⾸位数字乘以1加上次位数字乘以2……以此类推,所得的结果mod11,所得的余数即为识别码,如果余数为10,则识别码为⼤写字母X。例如ISBN号码0-670-82162-

4中的识别码4是这样得到的:对067082162这9个数字,从左⾄右,分别乘以1,2.,……,9,再求和,即01+62+……+29=158,然后取158mod11的结果4

作为识别码。

你的任务是编写程序判断输⼊的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。

输⼊格式

输⼊只有⼀⾏,是⼀个字符序列,表⽰⼀本书的ISBN号码(保证输⼊符合ISBN号码的格式要求)。

输出格式

输出共⼀⾏,假如输⼊的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定格式,输出正确的ISBN号码(包括分隔符“-”)。

【输⼊样例1】

0-670-82162-4

【输⼊样例2】

0-670-82162-0

【输出样例1】

Right

【输出样例2】

0-670-82162-尖椒大肠 4

code

code1:

#include

#include

#include

#include

#include

#include

#include

usingnamespacestd;

inta[10];

intmain()

{

strings;

cin>>s;

a[0]=s[0]-'0';

a[1]=s[2]-'0';

a[2]=s[3]-'0';

a[3]=s[4]-'0';

a[4]=s[6]-'0';

a[5]=s[7]-'0';

a[6]=s[8]-'0';

a[7]=s[9]-'0';

a[8]=s[10]-'0';

a[9]=s[12]-'0';

intsum=0;

for(inti=0,j=1;i<9;i++,j++)

{

sum+=a[i]*j;

}

intcode=sum%11;

charc=code==10?'X':'0'+code;

if(s[12]==c)

{

cout<<"Right"<

}el

{

s[12]=c;

cout<

}

return0;

}

code2:

#include

#include

#include

#include

usingnamespacestd;

intmain(){

stringstr1;

intlen=13;

intz,i,sum,now;

sum=0;

now=0;

z=0;

cin>>str1;

for(i=0;i

if(str1[i形容人的句子 ]!='-'){

now=str1[i]-'0';

z++;

if(i!=len-1)sum=sum+z*now;

}

}

if(反思报告 str1[len-1]=='X')now=10;

elnow=str1[len-1]-'0';

if(sum%11=铁杵成针的故事 =now)

cout<<"Right"<

el{

sum=sum%11;

for(i=0;i

cout<

if(sum!=10)

cout<

elcout<<"X"<

}

return0;

}

code3:

vectorISBN_to_count(char*p){

vectoroutput;

vectorinput;

intspecial=0,i,j,k;

charc;

k=strlen(p);

if(k<13){

cout<<"it'swrong!"<

_back('w');

returnoutput;

}

for(i=0;i<12;i++){

c=p[i];

if(c=='-')_back('-');

el{

j=c-'0';

_back(j);

_back(c);

}

}

c=p[12];

for(i=0;i<();i++)special+=input[i]*(i+1);

special=special%11;

if(special+'0'==c){

();

_back('R');

_back('i');

_back('g');

_back('h');

_back('t');

returnoutput;

}

if(special==10)_back('X');

_back(special+'0');

returnoutput;

}

code4:

/**************************************************************************绍兴文理学院是几本 **/

/*CCF软件能⼒认证考试模拟题/bjfu-1158——ISBN号码⽪⽪2014-8-31*/

/****************************************************************************/

#include

usingnamespacestd;

voidISBN(){

//freopen("","r",stdin);

//FILE*fp=fopen("","w");

inta[13];

charc;

charinput[14];

for(inti=0,j=0;i<10;j++){

cin>>c;

input[j]=c;

if(c!='-'){

if(c=='X')

a[i]=10;

el

a[i]=c-'0';

i++;

}

}

intsum=0;

for(inti=0;i<9;i++){

a[i]*=i+1;

sum+=a[i];

}

intidCode=sum%11;

if(idCode==a[9])

cout<<"Right"<

el{

for(intj=0;j<12;j++)

cout<

if(idCode==10)

cout<<"X"<

//cout<<'X'<

el

cout<

}

/*if(idCode==a[9])

fprintf(fp,"%s","Rightn");

el{

for(intj=0;j<12;j++)

fprintf(fp,"%c",input[j]);

if(idCode==10)

fprintf(fp,"%cn",'X');

el

fprintf(fp,"%dn",idCode);

}

*/

//fclo(fp);

//fclo(stdin);

}

intmain大卡车简笔画 (){

ISBN();

return0;

}

注意:

输⼊最后⼀个字符可能是X

附:

ISBN的构成及新旧ISBN校验码的计算⽅法

ISBN号码由10位数字组成,并以三条线段加以分割,每组数字都有不同的含义。

第⼀组:区位代码0,1:英⽂2:法⽂3:德⽂4:⽇⽂5:俄⽂7:中⽂

第⼆组:出版社代码由各国的ISBN码分配中⼼,分给各个出版社。

第三组:书序码该出版物代码,由出版社具体给出

第四组:计算机校验码只有⼀位,从0到10,10由X代替。

校验码的计算⽅法

1.假设某ISBN号码前9位是:7-309-04547;

2.计算加权和S=710+39+08+97+06+45+54+43+72=226;

3.计算S11的余数M=226mod11=6;

4.计算11-M的差N=11−6=5

如果N=10,校验码是字母“X”;

如果N=11,校验码是数字“0”;

如果N为其他数字,校验码是数字N。

所以,本书的校验码是5。

ISBN中⼼于2004年决定在ISBN的基础上再添加⼀组三位数字在最前,即將现有的10位书号前⾯加上“978”及重新计算稽核号,以转换为新的13位格式。该计划将于2007

年实施。

注释

13位ISBN的最后⼀位校验位的加权算法与10位ISBN的算法不同。具体算法是:⽤1分别乘ISBN的前12位中的奇数位,⽤3乘以偶数位,成绩之和以10为模,⽤10减去此模,

即可得到校验位的值,其值范围应该为0-9。

1.假设某13位ISBN号码前12位是:987-7-309-04547;

2.位置为123-4-567难忘的事作文400字 -89(10)(11)(12)

3.计算加权和S=91+83+71+73+31+03+91+03+41+53+41+73=117;

4.计算S10的余数M=117mod10=7;

5.计算10-M的差N=10−7=3(如果10-M的值为10则校验码取0)

6.所以,本书的13位ISBN的校验码是3。

from:

/pipisorry/article/details/38959031

ref:

ISBN的构成及新旧ISBN校验码的计算⽅法/s/blog_

ISBN编号问题

/link?url=qmrPPsRjENp5vUNG-wfwdYYG20lCqr3oC5-jLgfVLksVCopMgIcnONlXmI56p8aHJ3L0W94gWD5o3MfMD0vi9TkC5rMyzT6pSqsv-rqQXcm

本文发布于:2023-03-19 01:45:55,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1679161555148899.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:什么是isbn.doc

本文 PDF 下载地址:什么是isbn.pdf

下一篇:返回列表
标签:什么是isbn
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|