题目大意:
权重相加然后进行比较最后一位是否正确。
#include <stdio.h>
using namespace std;
int main(){
int n;
int count=0;
scanf("%d",&n);
int m[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char l[11] = {'1','0','X','9','8','7','6','5','4','3','2'};
while(n--!=0){
int sum=0;
getchar();
char ch[19];
scanf("%s",ch);
int flag=0;
for(int i=0;i<17;i++){
if((ch[i]-48)<=9&&(ch[i]-48)>=0){
sum+=m[i]*(ch[i]-48);
}else {
flag=1;
break;
}
}
if(l[sum%11]!=ch[17]||flag==1){
for(int i=0;i<18;i++){
printf("%c",ch[i]);
}printf("\n");
count++;
}
}if(count==0){
printf("All passed") ;
}
return 0;
}