题目链接:201303-2
又是题目没考虑周全的一天,没有判断输入是“X”的情况。一直是60分
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
string str;
string number="0123456789X";
cin >> str;
vector<int> isbn;
for(string::iterator s=str.begin();s!=str.end();s++)
{
if(*s == '-'){
continue;
}
if(*s>='0'&&*s<='9'){
int num=*s-'0';
isbn.push_back(num);
}
else if(*s='X') isbn.push_back(10);//!!!!
}
int judge=0;
for(int i=0;i<isbn.size()-1;i++){
// cout << isbn[i] << endl;
judge+=((i+1)*isbn[i]);
}
// cout << judge << endl;
int mod=judge%11;
if(isbn[isbn.size()-1]==mod) cout << "Right";
else{
str.erase(str.size()-1);
// if(mod==10){
// str=str+number[10];
// }
str+=(number[mod]);
cout << str;
}
return 0;
}