#include <iostream>
#include<cstring>
using namespace std;
void cheak(char arr[])//定义一个函数用于检查ISBN号码
{char b[13] = { 0 };//定义一个数组用于存放ISBN号码中的数字int sum = 0;//累加求和器int last = 0;//最后一位数字在数组中的位置int j = 0;for (unsigned int i = 0; i < strlen(arr); i++)//将数组中的数字选出来{if (arr[i] != '-'){b[j] = arr[i];j++;last = i;}if (arr[i] == '-')continue;}for (int k = 0; k < 12; k++)//对数组中的数字按照题目要求进行处理{if ((k + 1) % 2 != 0){sum = sum + (b[k] - '0') * 1;//注意输入的数字是char类型,需要转换为int类型进行计算}if ((k + 1) % 2 == 0){sum = sum + (b[k] - '0') * 3;}}int c = 0;c = sum % 10;if ((10 - c) == ((b[12] - '0') * 1))//判断ISBN号码是否正确{arr[last] == arr[last];}else if ((10 - c) == 10 && (((b[12] - '0') * 1) == 0)){arr[last] == arr[last];}else{ if (10 - c == 10){arr[last] = (0+'0');//将得到的正确的ISBN号码转换为char类型输入}elsearr[last] = ((10 - c) + '0');}
}
int main()
{char arr[17];while (cin >> arr){char brr[17] = { 0 };for (int i = 0; i < 17; i++){brr[i] = arr[i];//复制数组}cheak(arr);if (brr[16] == arr[16])//比较ISBN号码最后一位是否相同cout << "Right" << endl;if (brr[16] != arr[16]){cout << arr << endl;}}return 0;
}

判断图书的ISBN号码是否正确相关推荐

  1. 计蒜客 难题题库 205 图书ISBN号码

    102次 13.7% 1000ms 65536K 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x& ...

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

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

  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. ISBN号码(洛谷-P1055)

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

  9. CCF201312-2 ISBN号码

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

  10. AC日记——ISBN号码 openjudge 1.7 29

    29:ISBN号码 总时间限制:  1000ms 内存限制:  65536kB 描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如&q ...

最新文章

  1. wxWidgets:wxSysColourChangedEvent类用法
  2. 索引键的唯一性(3/4):唯一聚集索引上的唯一和非唯一非聚集索引
  3. SAP Spartacus B2B功能,只渲染BodyContent position里的UI
  4. SAP云平台上的Business Partner业务合作伙伴和账户主数据服务
  5. setTimeout(function(){}, 0);
  6. @staticmethod和@classmethod的作用与区别
  7. Android开发笔记(三十三)文本文件和图片文件的读写
  8. OpenCV图像处理基础(变换和去噪)
  9. hdu 1333水题
  10. matlab保存每次循环的结果
  11. java mojo是什么_java – 为什么Maven不能找到我的定制Mojo?
  12. 通达OA破解版下载|通达OA2015破解版 可用|通达oa2015破解补丁
  13. php程序读取firework生成的png图片数据
  14. 硬盘测试工具 CrystalDiskMark 8.0.0 正式版
  15. dell服务器设置bios设置u盘启动不了系统,详解戴尔通过BIOS设置U盘启动的技巧
  16. 剑桥A1-C2单词表-01
  17. [****ViewController scrollViewDidScroll:]: message sent to deallocated instance 0x12d6c22f0
  18. AutoSAR系列讲解(入门篇)4.1-BSW概述
  19. 天啦撸!打印日志竟然只晓得 Log4j?
  20. python-异常处理_异常类型_处理的异常的方法

热门文章

  1. ​ClickHouse在手淘流量分析业务实践
  2. python双色球数据抓取及模拟生成高概率的号码
  3. 有关微信小程序云数据库修改数据的坑
  4. js中Error对象
  5. 【分享】翻出过去的一个多彩泡泡屏保特效(JS+CSS版)
  6. 目标跟踪质心跟踪算法
  7. idea 查看方法在哪被调用快捷键_IntelliJ IDEA最常用快捷键快速查看手册-工欲善其事,必先利其器...
  8. android开发便签实验报告,什么是艾宾浩斯遗忘曲线?利用这一记忆规律可以提升孩子记忆力...
  9. 路由器的几种工作模式
  10. windows环境 java jdbc 连接impala (kerberos认证)