题自CCF 201312-2《ISBN号码》
接上一篇使用ASCII码处理数字字符转数值方法,想起了之前遇到的遗留问题(即本题)

问题描述
  每一本正式出版的图书都有一个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
——————————————分割线——————————————
有了思路后就很快解决了,不过审题时漏了识别码为‘X’时的特殊情况,导致提交到第三次才通过。

#include<stdio.h>
int main()
{char a[13];int i,c=0,d;scanf("%s",a);for(i=0,d=1; i<11; i++)if(i!=1 && i!=5){c+=(a[i]-48)*d;d++;}if(c%11==a[12]-48 || c%11==10 && a[12]=='X')printf("Right");else{if(c%11<10)a[12]=c%11+48;elsea[12]='X';for(i=0;i<13;i++)printf("%c",a[i]);}return 0;
}

C语言新手记:ISBN号码相关推荐

  1. C语言新手记:相邻数对

    题自CCF201409-1<相邻数对> 还行,看了一眼题干从"#"到"return 0:"一气呵成,还一次通过. "自信题"就是 ...

  2. C语言新手记:数列分段

    题自CCF 201509-1<数列分段> 第一次提交错误了,发现是计数用的c初始值设置成了0(太想当然了),修改后第二次提交,顺利通过.还是要好好去测试下自己的代码才好. -------- ...

  3. C语言新手记:图像旋转

    题自CCF201503-1<图像旋转> 终于遇到要想一阵子的签到题了,二话不说先画图找规律(脑子笨没法一眼看出来,害),找到规律后一切好办了,熟悉的配方熟悉的嵌套循环,搞起. 不过在自己的 ...

  4. C语言新手记:应用指针进行数组输入与输出

    偶然翻到一篇以前写下的想法,对数组输入时用指针进行定位而不是用数组元素下标,遂尝试着进行验证想法. 第一种是指针自增运算p++ #include<stdio.h> int main() { ...

  5. ## CSP 201312-2 ISBN号码(C语言)(100分)

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

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

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

  7. CCF真题 201312-2 ISBN号码

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

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

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

  9. Vijos p1484 ISBN号码

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

最新文章

  1. 2022-2028年中国氨基酸表面活性剂行业研究及发展前瞻报告
  2. linux 硬链接和软链接
  3. 深入理解Java虚拟机——JVM类加载机制(类加载过程和类加载器)
  4. Scala教程之:静态类型
  5. Testng 测试框架源码阅读(二)
  6. 最新IP数据库 存储优化 查询性能优化 每秒解析上千万
  7. Java——List集合特有的功能
  8. Activity的四种启动模式-图文并茂
  9. jar k8s 自己的 部署_k8s+jenkins+harbor镜像仓库实现持续集成
  10. 台积电晶圆14A厂周三曾因断电而部分停产 预计损失不低于2800万美元
  11. 一步一步学习Servlet之Session使用
  12. 题解 牛客【「水」悠悠碧波】
  13. Java项目上出现红色感叹号
  14. 我爆一个托 QQ305242038 电话 18782169971
  15. 流水线机制、滑动窗口协议、GBN、SR
  16. 七月算法机器学习 6 特征工程 小案例
  17. Linux 相关基础笔记
  18. 记录TI电量计采集化学ID过程
  19. Tableau 中国最美八条骑行线路(二)海拔和气温
  20. 家里两个路由器,Wifi名相同密码相同,请问手机会自动选择信号强的路由器连接吗?

热门文章

  1. 通向架构师的道路——漫谈架构与设计文档的写作技巧
  2. 突袭HTML5之WebGL 3D概述
  3. Latex jpg转eps
  4. 小米6X恰恰讽刺了雷军只要5%的净利润
  5. ActiveX 控件开发学习笔记1
  6. soap相关元素的介绍
  7. 电商平台API接口大全
  8. 《北京的爱情故事》观后感
  9. 网达Jenkins部署
  10. 计算机四级数据库工程师重难点