问题描述:

试题编号: 201312-2
试题名称: ISBN号码
时间限制: 1.0s
内存限制: 256.0MB
问题描述:

问题描述

  每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。
  识别码的计算方法如下:
  首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,…,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。
  编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出是正确的ISBN号码。

输入格式

  输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

输出格式

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

样例输入

0-670-82162-4

样例输出

Right

样例输入

0-670-82162-0

样例输出

0-670-82162-4

解题思路:

简单的字符串模拟即可,利用string或是字符数组都可以,

注意余数为10的时候字符码应该为‘x’

解题代码:

#include <iostream>
#include <string>
using namespace std;
int main(){string s;// 输入数据cin >> s;// 计算识别码int sum = 0, j = 1;for(int i=0; i<(int)s.length()-1; i++) {if(s[i] != '-')sum += (s[i] - '0') * j++;}// 识别码转字符char c;c = sum % 11;if(c == 10)c = 'X';elsec = c + '0';// 判断识别码、校正和输出if(c == s[s.length()-1])cout << "Right" << endl;else {s[s.length()-1] = c;cout << s << endl;}return 0;
}

CCF201312-2 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 ...

最新文章

  1. 求二维数组最大子数组
  2. c语言编译开头,#includestdio.h,为什么C语言代码开头都有这一行?
  3. 索尼诺基亚持股公司告赢苹果,获300万美元赔偿
  4. 解决网站请求速度慢的一些方法
  5. 事务连接中断_一文搞懂分布式事务-CAP理论
  6. 算法高级(47)-AI现在都可以写代码了-辅助编程
  7. WebGIS——Openlayers加载图层
  8. 125条常见的java面试笔试题大汇总2
  9. 028 kafka面试小节
  10. C#生成Guid,SqlServer生成Guid
  11. GPU架构演进十年,从费米到安培
  12. Java Eclipse下载安装教程
  13. Global Mapper居然也有手机版(附安装包下载)
  14. 如何修复计算机策略组,如何在Win10中修复损坏的组策略
  15. springboot--dubbo+nacos+LCN整合详解
  16. 计算机程序设计艺术读书感悟
  17. 京牌车辆过户以后车辆保险怎么办?
  18. iphone/ios兼容问题
  19. 在win7系统中设置共享,但是必须要关闭防火墙
  20. 启动springboot项目 Error running ‘xxx‘

热门文章

  1. (转)goldengate 复制进程replicat出现ORA-01403 错误
  2. 《Pro ASP.NET MVC 3 Framework》学习笔记之十八【URL和Routing】
  3. linux路由器实际配置案例
  4. 与Android数据库一起工作
  5. 微软e5服务器,OFFICE365 E5调用api使E5开发者续订(不使用服务器)
  6. 蔬菜名称大全500种_96种室内盆栽植物图片及名称,室内植物品种大全
  7. devops最佳实践_DevOps最佳实践如何改善团队动力
  8. 开源身份证识别_新的开源:金钱,公司和身份
  9. 下载Bootstrap3源码版本
  10. 启航篇——四旋翼飞行器之入坑两年心路历程和毕设总结