如果不是数字就打印;把身份证里的X用100代替就行了
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
bool flag =true;
int weight[20]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int jiaoyanma[20]={1,0,100,9,8,7,6,5,4,3,2};
while(n--){
bool node=true;
string str;
cin>>str;
int sum=0;
for(int i=0;i<17;i++){
int temp=str[i]-'0';
if(temp<=9)
sum+=temp*weight[i];
else
node=false;
}
int check = sum%11;
int c = str[17]-'0';
if(c!=jiaoyanma[check]||node==false){
if(c=='X'-'0'&&jiaoyanma[check]==100){
}else{
cout<<str<<endl;
flag =false;
}
}
}
if(flag){
cout<<"All passed"<<endl;
}
return 0;
}