题目链接
实现
#include <iostream>
#include <string>
#define MAXSIZE 100
using namespace std;
int main(int argc, char** argv) {
char jiaoyan[11]={'1','0','X','9','8','7','6','5','4','3','2'};
int quanzhong[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
string idCard[MAXSIZE];
int N,allPass=1;
cin>>N;
for(int i=0;i<N;i++)
{
cin>>idCard[i];
int sum=0;
string str=idCard[i];
int j;
for(j=0;j<17;j++)
{
if(str[j]<'0'||str[j]>'9')
break;
sum+=(str[j]-'0')*quanzhong[j];
}
int z=sum%11;
if(j!=17 || str[17]!=(jiaoyan[z]))
{
allPass=0;
cout<<idCard[i]<<endl;
}
}
if(allPass)
cout<<"All passed"<<endl;
return 0;
}