題目分析:
該題是對一串字符進行處理,主要是區分數字型字符與非數字型字符,所以只要通過標準輸入將字符轉化爲整型再繼續運算就可以得到。
C語言源程序:
#include<stdio.h>
#include<stdlib.h>
#define N 13
int main()
{
int i,j=1;
char ch;
int sum=0;
char num[N];
for(i=0;i<N;i++)
{
scanf("%c",&ch);
num[i]=ch;
//這地方是細節,需要將字符轉化爲整型參與運算
if(ch!='-' && i!=(N-1))
{
sum=sum+(ch-'0')*j;
j++;
}
}
if(sum%11==10)
{
if(num[N-1]=='X')
{
printf("Right");
}
else
{
num[N-1]='X';
for(i=0;i<N-1;i++)
{
printf("%c",num[i]);
}
printf("%c",num[N-1]);
}
}
else
{
if((num[N-1]-'0')==(sum%11))
{
printf("Right");
}
else
{
num[N-1]=sum%11+'0';
for(i=0;i<N;i++)
{
printf("%c",num[i]);
}
}
}
return 0;
}