应试技巧
- 题目分为算法题和模拟题,模拟题只需根据题目的意思模拟这个过程即可
- 先理清问题要求的逻辑关系,再一步一步的写,不要遗漏要求
题目
解题思路
运用string类方便的读取字符串,熟练运用string的相关函数:string.size(),string.back()等等
注意int与字符之间的转换
代码实现
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
string str;
cin >> str;
int sum = 0;
int cnt = 1; //每次需要乘的数
for (int i = 0; i < str.size() - 1; i ++)
{
if (str[i] != '-') sum += (str[i] - '0') * (cnt ++); //累计求和
}
sum %= 11;
char res = sum + '0'; //注意整数和字符的转换
if(sum == 10) res = 'X';
if(str.back() == res) cout << "Right" << endl; //取最后一位元素进行判断
else
{
str.back() = res;
cout << str;
}
return 0;
}