Sam_Gamer @ 2023-04-27 13:59:35
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[13];
int ansx;
int ans1;
int ans2;
for(int i=0;i<13;i++)
{
cin>>a[i];
}
if(a[0]>=48 && a[0]<=57 && a[2]>=48 && a[2]<=57 && a[3]>=48 && a[3]<=57 && a[4]>=48 && a[4]<=57 && a[6]>=48 && a[6]<=57 && a[7]>=48 && a[7]<=57 && a[8]>=48 && a[8]<=57 && a[9]>=48 && a[9]<=57 && a[10]>=48 && a[10]<=57 && a[12]>=48 && a[12]<=57 || a[12]=='X')
{
if (a[1]=='-' && a[5]=='-' && a[11]=='-')
{
ans1=(int)a[12]-48;
ans2=(int)(a[0]-48)+((a[2]-48)*2)+((a[3]-48)*3)+((a[4]-48)*4)+((a[6]-48)*5)+((a[7]-48)*6)+((a[8]-48)*7)+((a[9]-48)*8)+((a[10]-48)*9);
ansx=10;
if(ans1==ans2%11 && ans2!=10)
{
cout<<"Right\n";
return 0;
}
else if(ans1!=ans2%11)
{
if(ans2==10)
{
cout<<a[0]<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<a[11]<<'X';
return 0;
}
cout<<a[0]<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<a[11]<<ans2%11;
return 0;
}
}
}
//ans=(int)(a[0]-48)+((a[2]-48)*2)+((a[3]-48)*3)+((a[4]-48)*4)+((a[6]-48)*5)+((a[7]-48)*6)+((a[8]-48)*7)+((a[9]-48)*8)+((a[10]-48)*9)%11;
//cout<<ans%11;
return 0;
}
不对呀,我已经特判‘X’了.
by Sam_Gamer @ 2023-04-27 14:13:05
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[13];
int ans1;
int ans2;
for(int i=0;i<13;i++)
{
cin>>a[i];
}
if(a[0]>=48 && a[0]<=57 && a[2]>=48 && a[2]<=57 && a[3]>=48 && a[3]<=57 && a[4]>=48 && a[4]<=57 && a[6]>=48 && a[6]<=57 && a[7]>=48 && a[7]<=57 && a[8]>=48 && a[8]<=57 && a[9]>=48 && a[9]<=57 && a[10]>=48 && a[10]<=57 && a[12]>=48 && a[12]<=57 || a[12]=='X')
{
if(a[12]=='X')
{
a[12]=10;
}
ans1=(int)a[12]-48;
ans2=(int)(a[0]-48)+((a[2]-48)*2)+((a[3]-48)*3)+((a[4]-48)*4)+((a[6]-48)*5)+((a[7]-48)*6)+((a[8]-48)*7)+((a[9]-48)*8)+((a[10]-48)*9);
if(ans1==ans2%11 && ans2!=10)
{
cout<<"Right\n";
return 0;
}
else if(ans1!=ans2%11)
{
if(ans2==10)
{
cout<<a[0]<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<a[11]<<'X';
return 0;
}
cout<<a[0]<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<a[11]<<ans2%11;
return 0;
}
}
//ans=(int)(a[0]-48)+((a[2]-48)*2)+((a[3]-48)*3)+((a[4]-48)*4)+((a[6]-48)*5)+((a[7]-48)*6)+((a[8]-48)*7)+((a[9]-48)*8)+((a[10]-48)*9)%11;
//cout<<ans%11;
return 0;
}
还是不行
by Sam_Gamer @ 2023-04-27 14:13:55
样例输出是对的.
by jiangxinyang2012 @ 2023-04-27 15:57:04
@Sam_Gamer
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[13];
int ans1;
int ans2;
for(int i=0;i<13;i++)
{
cin>>a[i];
}
if(a[0]>=48 && a[0]<=57 && a[2]>=48 && a[2]<=57 && a[3]>=48 && a[3]<=57 && a[4]>=48 && a[4]<=57 && a[6]>=48 && a[6]<=57 && a[7]>=48 && a[7]<=57 && a[8]>=48 && a[8]<=57 && a[9]>=48 && a[9]<=57 && a[10]>=48 && a[10]<=57 && a[12]>=48 && a[12]<=57 || a[12]=='X')
{
if(a[12]=='X')
{
a[12]=58;
}
ans1=(int)a[12]-48;
ans2=(int)(a[0]-48)+((a[2]-48)*2)+((a[3]-48)*3)+((a[4]-48)*4)+((a[6]-48)*5)+((a[7]-48)*6)+((a[8]-48)*7)+((a[9]-48)*8)+((a[10]-48)*9);
if(ans1==ans2%11)
{
cout<<"Right\n";
return 0;
}
else if(ans1!=ans2%11)
{
if(ans2%11==10)
{
cout<<a[0]<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<a[11]<<'X';
return 0;
}
cout<<a[0]<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<a[10]<<a[11]<<ans2%11;
return 0;
}
}
//ans=(int)(a[0]-48)+((a[2]-48)*2)+((a[3]-48)*3)+((a[4]-48)*4)+((a[6]-48)*5)+((a[7]-48)*6)+((a[8]-48)*7)+((a[9]-48)*8)+((a[10]-48)*9)%11;
//cout<<ans%11;
return 0;
}
by jiangxinyang2012 @ 2023-04-27 15:58:54
if(ans2==10)
这句话有点问题,因该是
if(ans2%11==10)
by jiangxinyang2012 @ 2023-04-27 16:01:51
if(a[12]=='X')
{
a[12]=10;
}
还有这段赋值,因该是
if(a[12]=='X')
{
a[12]=58;
}
如果是按你那样不就是负数了吗
by jiangxinyang2012 @ 2023-04-27 16:04:28
if(ans1==ans2%11 && ans2!=10)
和
if(ans2==10)
的ans2各加一个“%11”
by jiangxinyang2012 @ 2023-04-27 16:05:49
改了以后就对了
by Sam_Gamer @ 2023-04-28 09:38:51
@2021Changqing60 谢谢大佬
by jiangxinyang2012 @ 2023-04-28 09:43:10
不客气