学校拟对全校学生的学号进行升级处理,决定在每位同学的学号后面加一位识别码。识别码的生成方法与身份证号或者 ISBN 码的最后一位生成方法类似。具体如下:对于一个 8 位学号 ABCDEFGH ,识别码 I=(A∗9+B∗8+C∗7+D∗6+E∗5+F∗4+G∗3+H∗2)mod10,最终添加识别码后的学号为 ABCDEFGHI。
时间: 2023-05-26 14:05:23 浏览: 75
假设学号为 "20180001",则识别码为:
(2*9 + 0*8 + 1*7 + 8*6 + 0*5 + 0*4 + 0*3 + 1*2) mod 10 = 6
最终添加识别码后的学号为 "201800016"。
注意:需要对每个学号都进行如上操作才能得到新的学号。
相关问题
用c写学校拟对全校学生的学号进行升级处理,决定在每位同学的学号后面加一位识别码。识别码的生成方法与身份证号或者 ISBN 码的最后一位生成方法类似。具体如下:对于一个 8 位学号 ABCDEFGH ,识别码 I=(A∗9+B∗8+C∗7+D∗6+E∗5+F∗4+G∗3+H∗2)mod10,最终添加识别码后的学号为 ABCDEFGHI。
#include <stdio.h>
int main() {
char stu_num[9]; // 存储学生学号,包括 '\0'
int identify_code; // 存储识别码
int i; // 循环变量
printf("Please input your student number(8 digits): ");
scanf("%s", stu_num);
identify_code = (stu_num[0] - '0') * 9 + (stu_num[1] - '0') * 8 + (stu_num[2] - '0') * 7 + (stu_num[3] - '0') * 6 + (stu_num[4] - '0') * 5 + (stu_num[5] - '0') * 4 + (stu_num[6] - '0') * 3 + (stu_num[7] - '0') * 2; // 计算识别码
identify_code %= 10; // 取模
stu_num[8] = '0' + identify_code; // 将识别码添加到学号后面
printf("Your new student number is: %s\n", stu_num);
return 0;
}
用c语言写,学校拟对全校学生的学号进行升级处理,决定在每位同学的学号后面加一位识别码。识别码的生成方法与身份证号或者 ISBN 码的最后一位生成方法类似。具体如下:对于一个 8 位学号 ABCDEFGH ,识别码 I=(A∗9+B∗8+C∗7+D∗6+E∗5+F∗4+G∗3+H∗2)mod10,最终添加识别码后的学号为 ABCDEFGHI。
```c
#include<stdio.h>
int main()
{
char id[9]; // 学号,包括'\0'
int i, sum = 0, code;
scanf("%s", id);
for(i = 0; i < 8; i++)
{
sum += (id[i] - '0') * (9 - i);
}
code = sum % 10;
printf("%s%d\n", id, code);
return 0;
}
```
阅读全文