题目:
#include<bits/stdc++.h>
#define int long long
#define PII pair<int,int>
#define LL__int 128
using namespace std;
const int N=2e5+10,M=1e3+10,mod=998344353,INF=0x3f3f3f3f;
int a[N],b[N];
signed main()
{
char arr[13];
scanf("%s",arr);
int i,j;
int s=0;
/*for(int i=0, j=1;j<11;i++)
{
if(arr[i] != '-')
{
s += (arr[i]-'0')*j;
j++;
}
}*/
for(i=0, j=1; i<11; i++)
{
if(arr[i] != '-')
{
s += (arr[i]-'0')*j;
j++;
}
}
int m=s%11;
if(m==arr[12]-'0'||(m==10&&arr[12]=='X'))
{
cout<<"Right"<<endl;
}else
{
if(m==10)
{
for(i=0;i<12;i++)
{
printf("%c",arr[i]);
}
printf("X");
}else{
for(i=0;i<12;i++)
{
printf("%c",arr[i]);
}
printf("%d",m);
}
}
}
从这道题学会的东西:
- char的输入,别一味得用string输入字符串,如果要单个字符处理,就用char
- 怎样写两个同时循环的代码,要注意标点符号,和自加的地方
char和string的输入问题
char a[10] = "123";
// 输出:123
char a[10];
a[0] = 'A';
a[2] = 'C';
cout << a;
// 输出:A
string a = "123";
// 输出:123
//与char数组不同,string类型不可以直接通过索引位置定义
string a;
a[0] = 'A';
cout << a;
// 输出:(空)
//通过索引进行修改是合法的
string a = "ABC";
a[0] = 'a';
cout << a;
// 输出:aBC