题目描述

每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字、11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如00代表英语;第一个分隔符-之后的三位数字代表出版社,例如670670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:

首位数字乘以11加上次位数字乘以22……以此类推,用所得的结果mod11mod11,所得的余数即为识别码,如果余数为1010,则识别码为大写字母XX。例如ISBN号码0-670-82162-4中的识别码44是这样得到的:对067082162这99个数字,从左至右,分别乘以1,2,...,91,2,...,9再求和,即0×1+6×2+……+2×9=1580×1+6×2+……+2×9=158,然后取158mod11158mod11的结果44作为识别码。

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

输入格式

一个字符序列,表示一本书的ISBN号码。

输出格式

一行,假如输入的ISBN号码的识别码正确,那么输出Right,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符-)。

样例数据

输入样例 #1

0-670-82162-4

输出样例 #1

Right

输入样例 #2

0-670-82162-0

输出样例 #2

0-670-82162-4

数据范围

对于100%的数据,保证输入符合ISBN号码的格式要求

代码如下:

#include<iostream>
using namespace std;
int main(){char str[13];int s[10]; int t=0, k=0, mod=0;for(int i=0; i<13; i++ ){cin>>str[i]; }for(int j=0; j<13; j++){if(str[j]!='-') {s[k]=str[j]-48;k++;}}for(int i=0, j=1 ; i<9; i++, j++ ){t+=s[i]*j;}mod=t%11;if(str[12]=='X'){str[12]=10;}else{str[12]=str[12]-48;}if(mod==str[12]){cout<<"Right";} else{for(int x=0; x<12; x++ ){ cout<<str[x];} if(mod==10){cout<<'X';}else{cout<<mod;}}
}

C++ ISBN 号码相关推荐

  1. 洛谷 P1055 ISBN号码【字符串+模拟】

    P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...

  2. Java 洛谷 P1055 ISBN号码

    题目链接:https://www.luogu.com.cn/problem/P1055 输入格式 一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求). 输出格式 一行,假如输 ...

  3. CCF真题 201312-2 ISBN号码

    目录 1 题目 1.1 问题描述 1.2 输出格式 1.3 样例输入 1.4 样例输出 1.5 样例输入 1.6 样例输出 2 代码 1 题目 1.1 问题描述 每一本正式出版的图书都有一个ISBN号 ...

  4. NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  5. Vijos p1484 ISBN号码

    描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-" ...

  6. ISBN号码【模拟】

    ISBN号码ISBN号码ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x&q ...

  7. 【p081】ISBN号码

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定 ...

  8. 信息学奥赛一本通 1942:【08NOIP普及组】ISBN号码 | OpenJudge NOI 1.7 29:ISBN号码 | 洛谷 P1055 [NOIP2008 普及组] ISBN 号码

    [题目链接] ybt 1942:[08NOIP普及组]ISBN号码 OpenJudge NOI 1.7 29:ISBN号码 洛谷 P1055 [NOIP2008 普及组] ISBN 号码 [题目考点] ...

  9. ISBN号码(洛谷-P1055)

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  10. CCF201312-2 ISBN号码

    问题描述: 试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码 ...

最新文章

  1. RingtoneManager-获得系统当前的铃声
  2. php5.3的新特性
  3. Sprint 冲刺第三阶段第6-10天
  4. LINUX下直接使用ISO文件
  5. c语言ascw,VBS中的Asc/AscB/AscW和Chr/ChrB/ChrW函数之间的区别
  6. div设置overflow-scroll滚动之后,jq获取其子元素的offset.top出现问题。
  7. 专科学会计还是计算机应用技术好,专科毕业想要学习会计专业,我专科是学计算机应用,但是毕业后家里让我学会计这门专业,具体是该怎么办呢...
  8. 取消XP和2000专业版的IIS的用户数量限制
  9. leetcode动态规划(python与c++)
  10. 【转】ArrayList Vector LinkedList 区别与用法
  11. python a or b 输出值为_深入分析python的and or 返回值
  12. java 通用查询_java 通用查询
  13. LabVIEW 2021 工具包
  14. Win32的setlocale详解
  15. python pandas如何实现两列交换
  16. EHCI主机控制器--周期帧列表(periodic frame list)
  17. win7 android双系统,真正的安卓Windows双系统,RemixOS Windows共存系统安装+附带RO......
  18. 七周数据分析01_数据分析思维
  19. Hashing(哈希)
  20. 我在唯品会工作了四年_苦等两年,唯品会消金牌照终于批了,金融业务却“掉队”了...

热门文章

  1. 阿里巴巴淘宝网电子商务模式调查分析
  2. java 英文翻译工具类
  3. CTF挑战赛-合天网安实验室
  4. python进行回归分析与检验_R/python-回归分析
  5. python绘制正态分布图像
  6. opencv边缘检测 roberts算子
  7. SecureCRT免安装版免费下载
  8. IDEA 从入门到踩坑(4)-No tests found for given includes 错误解决
  9. 查看ip命令 linux centos7,如何centos7查看ip(地址)命令?
  10. ros之tf简介[tf-Package Summary]