3years @ 2022-12-22 14:15:56
#include<iostream>
//#include<cstdio>
using namespace std;
int main()
{
char isbn[13]; //字符数组在这里
scanf("%s",isbn);
int sum=0,b=1;
for(int i=0;i<12;i++)
{
if(isbn[i]-48>=0&&isbn[i]-48<=9)
{
sum+=(isbn[i]-48)*b;
b++;
}
}
if(sum%11==isbn[12]-48||(sum%11==10&&isbn[12]=='X')) cout<<"Right";
else
{
if(sum%11!=10) isbn[12]=sum%11+48;
else isbn[12]='X';
cout<<isbn;
}
}
#include<iostream>
//#include<cstdio>
using namespace std;
int main()
{
char isbn[15];
scanf("%s",isbn);
int sum=0,b=1;
for(int i=0;i<12;i++)
{
if(isbn[i]-48>=0&&isbn[i]-48<=9)
{
sum+=(isbn[i]-48)*b;
b++;
}
}
if(sum%11==isbn[12]-48||(sum%11==10&&isbn[12]=='X')) cout<<"Right";
else
{
if(sum%11!=10) isbn[12]=sum%11+48;
else isbn[12]='X';
cout<<isbn;
}
return 0;
}
搞不懂为什么
by RP_INT_MAX @ 2022-12-22 14:18:16
@3years 一般写代码时都会把数组开大一点,我我习惯是多开 10 个,以免RE
by SkyWave @ 2022-12-22 14:26:31
@3years 还要存放一个空白符呢,所以要开到14
by Zi_Gao @ 2022-12-22 14:32:47
这么小的我一般开10倍
by E_firework @ 2022-12-22 14:44:54
字符串末尾应有 \0
结尾。
by E_firework @ 2022-12-22 14:46:27
不用这么精打细算,通常数组都要开大一点。
by 3years @ 2022-12-22 17:19:26
@SkyWave 好的,谢谢解答
by 3years @ 2022-12-22 17:19:44
@E_firework 谢谢解答
by 3years @ 2022-12-22 17:20:34
@RP_INT_MAX 好的,谢谢