题解:
我们需要建立两个字符串数组一个用来储存号码一个用来储存尾号
char a[14], mod[12] = "0123456789X";
我们需要库函数gets来读取存储号码
gets(a);
用循环来将字符串转化为整数
for(i = 0; i < 12; i++)
{
if(a[i] == '-') continue;
t += (a[i]-'0')*j++;
}
然后判断号码尾号是否正确,不正确替换尾号
if(mod[t%11] == a[12]) printf("Right");
else
{
a[12] = mod[t%11];
puts(a);
}
完整代码
#include <stdio.h>
int main()
{
char a[14], mod[12] = "0123456789X";
gets(a);
int i, j = 1, t = 0;
for(i = 0; i < 12; i++)
{
if(a[i] == '-') continue;
t += (a[i]-'0')*j++;
}
if(mod[t%11] == a[12]) printf("Right");
else
{
a[12] = mod[t%11];
puts(a);
}
return 0;
}