如果只是求和,就没必要再建一个数组来存放数据了,这点其实前面出现过
#include<stdio.h>
#include<string.h>
int main()
{
char isbn[20] ={0};
int i = 0, j = 1, sum = 0;
gets(isbn);
int len = strlen(isbn);
for (i = 0; i < len - 1; i++)
{
if (isbn[i] != '-')
{
sum += (isbn[i] - '0') * j;
j++;
}
}
int n = sum % 11;
if (n == isbn[12] - '0' || (n == 10 && isbn[12] == 'X'))
{
printf("Right\n");
}
else
{
if (n == 10)
{
isbn[len - 1] = 'X';
printf("%s", isbn);
}
else
{
isbn[len - 1] = n + '0';
printf("%s", isbn);
}
}
return 0;
}

京公网安备 11010502036488号