1146 ISBN号码

每一本正式出版的图书都有一个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号码。

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

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

样例输入 Sample Input
输入1:

0-670-82162-4

输入2:

0-670-82162-0

样例输出 Sample Output
输出1:

Right

输出2:

0-670-82162-4

#include<stdio.h>
#include<string.h>
#include<ctype.h>
char a[50];
int b[50];
int main()
{
int i,x,n,k=0,sum;
scanf("%s",a);
n=strlen(a);
for(i=0;i<n-1;i++)
if(isdigit(a[i]))
b[k++]=a[i]-'0';
x=1;sum=0;
for(i=0;i<k;i++)
sum+=b[i]*x++;
if(sum%11!=10)
{
if(sum%11==a[n-1]-'0')
printf("Right\n");
else
{
a[12]=sum%11+'0';
printf("%s\n",a);
}
}
else
{
if(a[n-1]=='X')
printf("Right\n");
else
{
a[12]='X';
printf("%s\n",a);
}
}
return 0;
}

//用'/b'虽然方便,而且输出结果会变,但是评测系统在原则上会把原本来的当成答案

WIKIOI-1146 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. [Codeforces741D]Arpa's letter-marked tree and Mehrdad's Dokhtar-kosh paths——dsu on tree
  2. 利用PUT方式上传文件的方法研究
  3. 求职者被字节HR放鸽子?
  4. linux两个进程相同的地址,在虚拟内存中,两个不同的进程可以具有相同的地址吗?...
  5. 鸿蒙OS比fuchsia的优势,第一天带你走进华为开发者大会,了解鸿蒙OS
  6. 烧脑又走心,CCF BDCI大赛这波儿操作有点赞!
  7. creo怎么返回上一步_creo零基础教程,教你creo4.0复制粘贴怎么用
  8. Apache的管理优化
  9. 4384---一方通行与最后之作 (sdut oj)
  10. 小爱音箱怎么装app_小爱音箱app|小米AI音箱app(小米小爱app)下载 v1.2.11 安卓版 - 比克尔下载...
  11. 基于单目和低成本GPS的车道定位方法
  12. Google商店中下载安兔兔评测,后下载3D资源插件,提示“您的设备与此版本不兼容”
  13. android 蓝牙之数据传输
  14. 数据可视化各种图表对比总结
  15. 京东双十一店铺装修,免费海报设计软件
  16. win 10 主题 美化
  17. WBTCITRIX上实现安装打印机的几种方法
  18. 国产汽车级芯片——可应用于变速箱输出轴的齿轮转速传感器芯片CH502
  19. stm32外扩外部sram学习笔记
  20. 2022保密教育线上培训考试 02

热门文章

  1. Android图片压缩(质量压缩和尺寸压缩)Bitmap转成字符串上传
  2. 【天池】金融风控数据挖掘task1
  3. 海量!精品!宣传展板免费用!
  4. 一个低调的王者 - 谁是游戏类Dapp圈内最赚钱的团队?
  5. 2019蓝桥杯省赛B组填空题 迷宫
  6. 如何高效开发海外客户将开发信递送到真正的买家手里
  7. 这些小工具让你的Android 开发更高效
  8. HCIA随堂习题卷一
  9. ios SceneKit实现飞机小游戏
  10. Ubuntu 隐藏搜狗输入法状态栏