#include<cstdio>
int main()
{
char a[20];
scanf("%c-%c%c%c-%c%c%c%c%c-%c",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]);
int i,j=0,out=0;
for(i=0;i<9;i++)
{
j++;
a[i]=(int)a[i]-48;
out+=a[i]*j;
}
out%=11;
a[9]=(int)a[9]-48;
if(out==a[9])
printf("Right\n");
else
{
if(out==10)
{
printf("%d-%d%d%d-%d%d%d%d%d-X",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);
}
else printf("%d-%d%d%d-%d%d%d%d%d-%d",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],out);
}
return 0;
}
by hitbingbing @ 2018-02-09 21:01:24
```cpp
#include<cstdio>
int main()
{
char a[20];
scanf("%c-%c%c%c-%c%c%c%c%c-%c",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]);
int i,j=0,out=0;
for(i=0;i<9;i++)
{
j++;
a[i]=(int)a[i]-48;
out+=a[i]*j;
}
out%=11;
a[9]=(int)a[9]-48;
if(out==a[9])
printf("Right\n");
else
{
if(out==10)
{
printf("%d-%d%d%d-%d%d%d%d%d-X",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);
}
else printf("%d-%d%d%d-%d%d%d%d%d-%d",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],out);
}
return 0;
}
```
by hitbingbing @ 2018-02-09 21:03:54
@[六盘水北培lbc](/space/show?uid=51416)
个人认为输出时不能写printf("%d-%d%d%d-%d%d%d%d%d-X",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]),
应该写printf("%d-%d%d%d-%d%d%d%d%d-%c",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],X)
希望对你有帮助。
by 八水L @ 2018-02-18 12:32:12
@[六盘水北培lbc](/space/show?uid=51416)
X应该写成'X'。
by 八水L @ 2018-02-18 12:34:30
我的代码似乎确凿跟你的差不多
by Rui_R @ 2018-05-25 22:30:59
~~~
#include <cstdio>
using namespace std;
int main(){
char a[13];
scanf("%s",a);
int s[10],b=0,j=0;
for(int i=0;i<13;i++){
if('0'<=a[i] && a[i]<='9'){
s[j]=a[i]-'0';
j++;
}
else if(a[i]=='X'){
s[9]='X';
break;
}
}
for(int i=0;i<9;i++){
b+=s[i]*(i+1);
}
b=b%11;
if(b==10)
b='X';
if(b==s[9]){
printf("Right\n");
}else{
if(b!='X') printf("%d-%d%d%d-%d%d%d%d%d-%d\n",s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],b);
else printf("%d-%d%d%d-%d%d%d%d%d-X\n",s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8]);
}
return 0;
}
~~~
by Rui_R @ 2018-05-25 22:32:36
希望对你有帮助
by Rui_R @ 2018-05-25 22:33:08