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号码。

程序运行结果示例1:
0-123-41562-4↙
Right

程序运行结果示例2:
0-123-41562-7↙
0-123-41562-4

输入格式: 用gets()输入字符串
输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN的格式要求)。
输出格式:
输入的ISBN号码的识别码正确,输出信息: "Right"
输入的ISBN号码的识别码错误,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”),输出格式:"%s"

#include <stdio.h>
#include <stdlib.h>int main()
{int a[9], i, sum = 0, j;char b;scanf("%1d-%1d%1d%1d-%1d%1d%1d%1d%1d", &a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7], &a[8], &a[9]);scanf("-%c", &b);for (i = 0; i < 9; i++){sum = sum + a[i] * (i + 1);}j = sum % 11;if (j == 10){if (b == 'X')printf("Right");else{printf("%d-%d%d%d-%d%d%d%d%d-X", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]);}}else{if (b == j + 48)//判断b=j+'0'是否成立printf("Right");else{printf("%d-%d%d%d-%d%d%d%d%d-%d", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], j);}}return 0;
}

【C语言】ISBN识别码判断相关推荐

  1. R语言sign函数判断数值为正数或者负数实战

    R语言sign函数判断数值为正数或者负数实战 目录 R语言sign函数判断数值为正数或者负数实战 #基本语法 #正负数判断 #基本语法 sign(5) # Basic R syntax of sign ...

  2. java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  3. java语言怎样判断文件夹_JAVA语言之如何判断文件,判断文件夹是否存在的代码...

    本文主要向大家介绍了JAVA语言之如何判断文件,判断文件夹是否存在的代码,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.判断文件是否存在,不存在则创建File file = ne ...

  4. C语言循环结构素数判断,C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  5. 在c语言中合法标识符的第一个字符必须是,c语言合法标识符判断规则是什么?...

    规则是:1.标识符的第一个字符必须是字母(a~z或A~Z)或下划线(_):2.后面跟的字符是由任意字母.下划线(_).数字组成:3.标识符中的大小写字母是有区别的,代表不同含义:4.标识符不能是关键字 ...

  6. c语言两个字母如何比较,c如何比较两个字符 C语言中怎么判断两个字符相同

    可以使用库函数strcmp判断,具体如下: strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, char *b); 该函数会对a和b的每个字符,按照ascii码值比较 ...

  7. C语言实验03_判断语句

    C语言实验03_判断语句 实验03(01)求分段函数的值 题目描述 有一函数如下: 当 x<1 时,y 的值为:lgx; 当 1=<x<6 时,y 的值为:(2x+3)的 1/2 次 ...

  8. C语言之素数判断及输出(1~100所有的素数)

    C语言之素数判断及输出 我们要想解决素数问题首先要明确素数是什么. 文章目录 C语言之素数判断及输出 什么是素数 如何计算素数 素数源代码 进阶:因子分解 什么是素数 素数:素数一般指质数.质数是指在 ...

  9. C语言根据日期判断星期几(使用基姆拉尔森计算公式)

    C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数 ...

最新文章

  1. 第2次作业+105032014158
  2. mysql备份和还原数据库
  3. 如何在Android手机上进行Google Map的开发。
  4. springboot 自动配置
  5. 2017年10月08日 上学
  6. 以太坊搭建联盟链详细教程
  7. 让Elasticsearch飞起来!百亿级实时查询优化实战
  8. [链接]--Microsoft Dynamics CRM 2011 Web Resource简介
  9. 2021-07-05 操作系统实操相关知识点笔记--中断、异常的响应和处理
  10. gitlab mergeRequest
  11. php导入csv wps乱码,《excel打开csv格式乱码》 WPS不兼容EXCEL打开后出现乱码怎么解决...
  12. 6000万条GitHub帖子告诉你:工作状态与表情符号强相关
  13. 【VBA】汉字转换全拼函数
  14. php 扑克牌洗牌算法,随机洗牌算法 | 学步园
  15. (十九)债券定价与债券收益率的计算
  16. TF2-Tips:自定义model.fit
  17. python 回溯法 01背包问题_01背包问题(回溯法)python实现
  18. Python课程设计《网络爬虫-中国大学排名课程设计》
  19. 使用C++ opencv将16位图像映射到8位
  20. Wifi密码 (10分)

热门文章

  1. 回文序列-2017网易校园招聘
  2. C++ 程序编译过程:从代码到程序
  3. OpenCV中Mat的type说明
  4. Win10打开老游戏血战上海滩
  5. 安排软件保护服务在 2022-07-26T23:00:43Z 时重新启动成功。原因: RulesEngine
  6. 图论(图、树基本知识)
  7. CH13,拍42,练习一。通过文本文件统计页面访问量
  8. 洛谷P4233 射命丸文的笔记 【多项式求逆】
  9. 服务器打死了怎么修复,yum把自己搞死了 然后又把服务器弄死了(yum命令卡死的解决办法)...
  10. 江敏:数据中台驱动下的企业创新升级