C++ ISBN 号码
题目描述
每一本正式出版的图书都有一个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 号码相关推荐
- 洛谷 P1055 ISBN号码【字符串+模拟】
P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...
- Java 洛谷 P1055 ISBN号码
题目链接:https://www.luogu.com.cn/problem/P1055 输入格式 一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求). 输出格式 一行,假如输 ...
- CCF真题 201312-2 ISBN号码
目录 1 题目 1.1 问题描述 1.2 输出格式 1.3 样例输入 1.4 样例输出 1.5 样例输入 1.6 样例输出 2 代码 1 题目 1.1 问题描述 每一本正式出版的图书都有一个ISBN号 ...
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...
- Vijos p1484 ISBN号码
描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-" ...
- ISBN号码【模拟】
ISBN号码ISBN号码ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x&q ...
- 【p081】ISBN号码
Time Limit: 1 second Memory Limit: 50 MB [问题描述] 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定 ...
- 信息学奥赛一本通 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 号码 [题目考点] ...
- ISBN号码(洛谷-P1055)
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...
- CCF201312-2 ISBN号码
问题描述: 试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码 ...
最新文章
- RingtoneManager-获得系统当前的铃声
- php5.3的新特性
- Sprint 冲刺第三阶段第6-10天
- LINUX下直接使用ISO文件
- c语言ascw,VBS中的Asc/AscB/AscW和Chr/ChrB/ChrW函数之间的区别
- div设置overflow-scroll滚动之后,jq获取其子元素的offset.top出现问题。
- 专科学会计还是计算机应用技术好,专科毕业想要学习会计专业,我专科是学计算机应用,但是毕业后家里让我学会计这门专业,具体是该怎么办呢...
- 取消XP和2000专业版的IIS的用户数量限制
- leetcode动态规划(python与c++)
- 【转】ArrayList Vector LinkedList 区别与用法
- python a or b 输出值为_深入分析python的and or 返回值
- java 通用查询_java 通用查询
- LabVIEW 2021 工具包
- Win32的setlocale详解
- python pandas如何实现两列交换
- EHCI主机控制器--周期帧列表(periodic frame list)
- win7 android双系统,真正的安卓Windows双系统,RemixOS Windows共存系统安装+附带RO......
- 七周数据分析01_数据分析思维
- Hashing(哈希)
- 我在唯品会工作了四年_苦等两年,唯品会消金牌照终于批了,金融业务却“掉队”了...
热门文章
- 阿里巴巴淘宝网电子商务模式调查分析
- java 英文翻译工具类
- CTF挑战赛-合天网安实验室
- python进行回归分析与检验_R/python-回归分析
- python绘制正态分布图像
- opencv边缘检测 roberts算子
- SecureCRT免安装版免费下载
- IDEA 从入门到踩坑(4)-No tests found for given includes 错误解决
- 查看ip命令 linux centos7,如何centos7查看ip(地址)命令?
- ros之tf简介[tf-Package Summary]