本关任务:根据输入的ISBN13前四部分和校验算法,生成完整的ISBN13代码并输出。 背景知识 ISBN13编码 ISBN13号在2007年正式启用每本书的ISBN13号由五个部分构成: 978(或979); 出版国家或语言代码; 出版社代码; 书代码; 校验码。 例如,《C++程序设计(第3版)》的ISBN13号是978-7-302-39348-1,其中1为校验码。 ISBN13的校验码生产规则是:前12位数依次乘以1和3,然后求它们的和除以10的余数,最后用10减去这个余数,就得到了校验码。如果余数为0,则校验码为0。 例如:C++程序设计(第3版)》的ISBN13编码前12位是978-7-302-39348 计算加权和S=9×1+7×3+8×1+7×3+3×1+0×3+2×1+3×3+9×1+3×3+4×1+8×3=119 S除以10的余数为9,所以其校验码为10−9=1。 详细情况参见百度百科的国际标准书号词条。 测试说明 平台会对你编写的代码进行测试,并且约定输入的前四部分的每位数字之间用空格隔开,输出的完整ISBN13编码的各个数字之间没有分隔符号。 测试输入: 9 7 8 7 3 0 2 2 1 8 9 7 预期输出: 9787302218975 开始你的任务吧,祝你成功!
时间: 2023-06-06 16:05:48 浏览: 210
我可以帮您生成完整的ISBN13代码。请提供ISBN13号前四部分的数字,每个数字之间用空格隔开。例如:9 7 8 7。
9 7 8 7的ISBN13编码前12位为:978-7。接下来,请提供第三位到第十二位的数字,这是出版社和书的编号。例如,如果您的书的编号是302-39348,那么这10位数字为:3 0 2 3 9 3 4 8。
根据校验算法,我会自动计算出校验码,然后输出完整的ISBN13代码。例如,如果您的书的校验码为1,那么完整的ISBN13代码为:9787302393481。请注意,输出的完整ISBN13编码的各个数字之间没有分隔符号。
相关问题
EAN13校验码算法java代码
EAN-13校验码算法是一种用于验证国际商品编码的算法。下面是一个简单的Java代码示例,用于计算EAN-13校验码:
```java
public class EAN13Checksum {
public static void main(String[] args) {
String barcode = "123456789012"; // 输入EAN-13条形码(不包含校验码)
int checksum = calculateChecksum(barcode);
System.out.println("校验码:" + checksum);
}
public static int calculateChecksum(String barcode) {
int sum = 0;
for (int i = 0; i < barcode.length(); i++) {
int digit = Character.getNumericValue(barcode.charAt(i));
if (i % 2 == 0) {
sum += digit;
} else {
sum += digit * 3;
}
}
int checksum = (10 - (sum % 10)) % 10;
return checksum;
}
}
```
请注意,上述代码中的`barcode`变量是EAN-13条形码的前12位数字,不包含校验码。运行代码后,将输出计算得到的校验码。
编写c++代码,要求:ISBN13的校验码生产规则是:前12位数依次乘以1和3,然后求它们的和除以10的余数,最后用10减去这个余数,就得到了校验码。如果余数为0,则校验码为0。并且约定输入的前四部分的每位数字之间用空格隔开,输出的完整ISBN13编码的各个数字之间没有分隔符号。
好的,这是一个关于编写C代码的问题,我可以回答。根据你的要求,我可以编写以下C代码:
```
#include <stdio.h>
int main() {
int num[13];
int i, sum = 0, checkcode;
printf("请输入前12位数字:");
for (i = 0; i < 12; i++) {
scanf("%1d", &num[i]);
}
for (i = 0; i < 12; i++) {
if (i % 2 == 0) {
sum += num[i];
} else {
sum += num[i] * 3;
}
}
checkcode = 10 - (sum % 10);
if (checkcode == 10) {
checkcode = 0;
}
num[12] = checkcode;
printf("ISBN13编码为:");
for (i = 0; i < 13; i++) {
printf("%d", num[i]);
}
printf("\n");
return 0;
}
```
编译运行后,输入前12位数字,程序将输出完整的ISBN13编码。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)