其实题目很简单,主要的坑在给出若干个trial,但没有给出退出循环的条件。
用 while(cin>>)就可以解决这个问题。
#include <iostream>
#include <string>
using namespace std;
int main(){
string trail;
while(cin>>trail){
int total=0;
int weight = 10;
for (int i = 0; i < trail.length(); ++i){
if (trail[i] != '-'){
total += (trail[i]-48)*weight;
weight--;
}
}
char target;
for(int j=0; j<=10; j++){
if ((total+j)%11 == 0) {
if (j==10){
target = 'X';
} else{
target = j+48;
}
break;
}
}
trail = trail+'-'+target;
cout<<trail<<endl;
}
return 0;
}