1031 查验身份证 (15 分)
水题~。
int w[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char mp[15];
int n;
void init()
{
mp[0]='1';
mp[1]='0';
mp[2]='X';
for(int i=3;i<=10;i++)
mp[i]=12-i+'0';
}
int main()
{
init();
cin>>n;
bool ok=true;
for(int i=0;i<n;i++)
{
string s;
cin>>s;
int res=0;
for(int i=0;i<17;i++)
res+=w[i]*(s[i]-'0');
res%=11;
if(mp[res] != s[17])
{
ok=false;
cout<<s<<endl;
}
}
if(ok) puts("All passed");
//system("pause");
return 0;
}