解题:ISBN号码
2023-08-12 18:24:34
发布于:广东
0阅读
0回复
0点赞
空降坐标:CP002580
来源:NOIP2008 普及组
请看代码
#include <iostream>
using namespace std;
int main()
{
bool flag=true,flaga=true;
char sz[100];
int sum=0,j=0;
gets(sz);
for(int i=0;i<=11;i++)
{
if(sz[i]>='0'&&sz[i]<='9')
{
j++;
sum+=((int)(sz[i])-'0')*j;
}
}
int ans=(int)(sz[12])-'0';
char ans1=(char)(sum%11)+'0';
if(sz[1]!='-'||sz[5]!='-'||sz[11]!='-')
{
sz[1]=sz[5]=sz[11]='-';
flag=false;
}
if(sum%11==10)
{
if(sz[12]=='X'&&flag)
{
cout<<"Right";
flaga=false;
}
else
{
sz[12]='X';
}
}
else
{
if(sum%11==ans&&flag)
{
cout<<"Right";
flaga=false;
}
else
{
sz[12]=ans1;
}
}
if(flaga)
{
puts(sz);
}
}
这里空空如也
有帮助,赞一个