![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//*
*此小程序是连续输入身份证前面的十七位得到最后一位
*/
#include<iostream>
#include<string>
using namespace std;
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
int main()
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif)
{
string id_17;
cin>>id_17;
int i=0;
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
int a[17]=
{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int b[17];
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
char c[17]=
{'1','0','X','9','8','7','6','5','4','3','2'};
while(id_17[i]!='\0')
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
b[i]=id_17[i]-48;
i++;
}
int result=0;
for (int j=0;j<17;j++)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
result+=a[j]*b[j];
}
cout<<c[result%11]<<endl;
return 0;
}