问题描述
  每一本正式出版的图书都有一个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

题解:
这道题很简单,用来复习巩固下字符串和用int操作
方法一直接读取字符串
方法二用Int型读取的

Code:方法一

#include <iostream>
#include <fstream>
#include <string>using namespace std;int main(){
//  fstream cin("a.txt");string s;char seq[10], chknum;int len,weight = 1,sum = 0;cin>>s;len = s.length();for(int i = 0; i < len - 2; ++i){if(s[i] == '-') continue;sum += (s[i] - '0') * (weight++);}if(sum % 11 == 10){chknum = 'X';}else{chknum = sum % 11 + '0';}if(chknum == s[len - 1]) cout<<"Right"<<endl;else{for (int i = 0; i < len - 1; ++i){cout<<s[i];}cout<<chknum<<endl;}return 0;
}

Code:方法二

#include <iostream>
#include <fstream>using namespace std;int main(){
//  fstream cin("a.txt");int n1,n2,n5,sum = 0;char chknum;int seq[10],cur;char c = '-';cin>>n1>>c>>n2>>c>>n5>>c>>chknum;seq[0] = n1;cur = 3;while(n2 > 0){seq[cur--] = n2 % 10;n2 /= 10;}cur = 8;while(n5 > 0){seq[cur--] = n5 % 10;n5 /= 10;}for(int i = 0; i < 9; ++i){sum += seq[i] * (i + 1);}if(sum % 11 == 10 && chknum == 'X'){cout<<"Right"<<endl;return 0;}if(sum % 11 == chknum - '0') cout << "Right" << endl;else{for(int i = 0; i < 9; ++i){cout<<seq[i];if(i == 0) cout << "-";if(i == 3) cout << "-";if(i == 8) cout << "-";}if(sum % 11 == 10) cout << "X";else cout << sum % 11 << endl;}return 0;
}

CCF真题 ISBN号码 题解相关推荐

  1. CCF真题 201312-2 ISBN号码

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

  2. CCF真题之ISBN号码

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

  3. C++ 字符串流stringstream(附蓝桥杯2018年第九届真题缩位求和题解)

    一.stringstream介绍 stringstream是 C++ 提供的一个字符串流(stream),,必须包含其头文件: #include <sstream> < sstrea ...

  4. 团体程序设计天梯赛真题(部分题解,持续更新)

    文章目录 天梯赛真题 L1-008 求整数段和(10分) 输入格式: 输出格式: 输入样例: 输出样例: 解题过程: L1-018 大笨钟(10分) 输入格式: 输出格式: 输入样例1: 输出样例1: ...

  5. 数据结构——CCF真题:疲劳度问题

    2017.12.3CCF真题第四题 一.问题: 0.问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好走 ...

  6. ccf试题棋局评估c语言,第十三次CCF CSP认证(2018年3月)真题棋局评估 题解

    问题描述 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是"X",Bob放的是"O",Alice执 ...

  7. CCF真题 工资计算

    测试网址:https://passport.ccf.org.cn/sso/platform 注册后->CSP认证->报名考试->模拟考试 Description 小明的公司每个月给小 ...

  8. 14年12月CCF真题1-门禁系统

    问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每 位读者有一个编号,每条记录用读者的编号来表示.给出读者的来访记录,请 问每一条记录中的读者是第几次出现. 输入格式 输入的第 ...

  9. 14年12月CCF真题4-最优灌溉

    问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口 很深的水井,所有的麦田都从这口井来引水灌溉. 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用 部分麦田作为 ...

最新文章

  1. elif在python中啥意思_python中elif 结构语句怎么判断?
  2. jquery mobile 移动web(5)
  3. python货币转化为资本的前提_深度剖析比特币背后的技术细节
  4. layui 动态添加的表单元素--select
  5. java treeset 降序,Java TreeSet,Collections使用
  6. java 实现ukey身份认证_一种基于ukey认证的单点登录实现方法与流程
  7. 查看solaris系统的版本和位数
  8. 通达OA2015版与金蝶K3系统集成方案
  9. linux filesystem not open,LVM 'Can’t open /dev/sdb1 exclusively. Mounted filesystem?' Problem
  10. html中footer怎么写,HTML DOM Footer用法及代码示例
  11. 职场拓展人脉的老派艺术
  12. 经济基础知识(初级)【15】
  13. win10 游戏全屏闪退桌面解决方法
  14. 墨刀原型设计工具101
  15. 基于Springboot的智慧校园管理系统(PC端和APP端双端应用)
  16. 机器视觉技术在水下机器人中的应用研究展望
  17. 如何最好的实现数据治理?数据治理的有效手段介绍
  18. 智能卡操作系统(COS)简介
  19. 一文搞懂tiktok运营视频策划,从数据分析到运营策略
  20. 深入浅出5g移动通信 ppt课件_最新!光华信通、迅特通信、烽火通信三家公司中标移动5G项目!...

热门文章

  1. python ASF API下载Sentine-1数据
  2. Java虚拟机学习笔记整理
  3. Lesson 16 Mary had a little lamb 内容鉴赏
  4. js中常用到的一些解决问题方法(整理一些真正有效能够使用到项目中的方法)(等待不断更新积累)
  5. https://blog.csdn.net/codezjx/article/details/8872090
  6. @Before,@After和@BeforeClass和@AfterClass的区别
  7. 北京电台“广播三下乡” 徐德亮演唱传统曲艺
  8. 三羊献瑞-第六届蓝桥杯省赛
  9. 思杰pvs服务器压力无法最大化,XXX学校桌面虚拟化方案重点.docx
  10. 在ArcGIS Pro2.2中玩转聚焦地图