#include<bits/stdc++.h>
using namespace std;
int main(){
char a;
int x[18],ans=0,f=1;
int y[18]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
system("color 2f");
cout<<"请输入您身份证号码的前17位:";
for(int i=1;i<=17;i++){
cin>>a;
if(a<='0'&&a>='9'){
f=0;//检测输入是否有误
}
else{
x[i]=int(a-'0');
}
ans=ans+x[i]*y[i];
}
system("cls");
if(f){
ans%=11;
cout<<"校验码是:";
switch(a){
case 0:cout<<1;break;
case 1:cout<<0;break;
case 2:cout<<"X";break;
case 3:cout<<9;break;
case 4:cout<<8;break;
case 5:cout<<7;break;
case 6:cout<<6;break;
case 7:cout<<5;break;
case 8:cout<<4;break;
case 9:cout<<3;break;
case 10:cout<<2;break;
}
}
else{
cout<<"ERROR!";
return 0;
}
}
输入:
340703201411100(no end)
输出:
发现木马病毒,建议阻止。
别轻易运行!