#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, n, sum, id;
int a[15];
char str[15];
scanf("%s", str); //输入ISBN号
j = 0;
for(i=0; i<11; i++)
{
if(i!=1 && i!=5)
{ //将存储ISBN号的str[]中数字字符转化为对应的
a[j] = str[i]-48; //十进制数赋值给a[](不包括最后一位识别码)
j++;
}
}
sum = 0;
n = 1;
for(i=0; i<9; i++)
{
sum += a[i]*n; //对ISBN中9个数字做算术计算并把结果赋值给sum
n++;
}
id = sum % 11; //由ISBN中九个数字计算出识别号IDcode
/*判断计算出的id是否等于ISBN的识别号*/
if(id == str[12]-48 || id == str[12]-78) //如果计算出的id是1~9,则是IBSN 字符str[12]对应的十进制数字
{ //如果id是10则是ISBN字符str中的字符X对应的十进制数
printf("Right");
}
else //如果识别号不
P1055 ISBN号码 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字、11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的...
最新推荐文章于 2022-05-28 21:50:13 发布
#include <stdio.h>#include <stdlib.h>int main(){ int i, j, n, sum, id; int a[15]; char str[15]; scanf("%s", str); //输入ISBN号 j = 0; for(i=0; i<11; i++...
摘要由CSDN通过智能技术生成