2022.3.21 21:56 洛谷P1055
作者:互联网
C: (80分)
#include <stdio.h>
int main()
{
char a[14] = {0};
int b = 0, c = 1;
//x - xxx - xxxxx - x
for (int i = 0; i < 13; i++)
{
scanf("%c", &a[i]);
if (a[i] != '-' && i < 12)
{
b += (a[i] - 48) * c;
c++;
}
}
if ((b % 11) == (a[12] - 48))
{
printf("Right");
}
else if (b % 11 == 10) //如果50分就是少了这个判断
{
a[12] = 'X';
printf("%s", a);
}
else
{
a[12] = char(b % 11 + 48);
printf("%s", a);
}
return 0;
}
C++:(80分)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1 = "0-000-00000-0";
cin >> str1;
int a = 1, b = 0;
for (int i = 0; i < 12; i++)
{
if (str1[i] != '-')
{
b += int(str1[i] - 48) * a;
a++;
continue;
}
}
b %= 11;
if (b == (str1[12] - 48))
{
cout << "Right";
}
else if (b == 10)
{
cout << str1.substr(0, 12) << "X";
}
else
{
cout << str1.substr(0, 12) << b;
}
return 0;
}
python: (预计也是80分)
str1 = input("") //开头输入部分
除了开头输入部分,其他基本一样
这题挺难搞的,搞了很久没有搞到100,都是80
欢迎各方大佬斧正
标签:11,12,21,48,int,str1,56,P1055,80 来源: https://blog.csdn.net/qq_61724978/article/details/123646569