身份证号验证


#include<iostream>
using namespace std;
void ji(char v[][18],int n,int sum[])
{
    int i,j,c=0,d=0;
    char a[] = { '1','0','x','9','8','7','6','5','4','3','2' };
    for (i = 0; i < n; i++)
        if (v[i][17] != a[sum[i] % 11])
        {
            for (j = 0; j < 18; j++)
                cout << v[i][j];
            cout << endl;
        }
    for (i = 0; i < n; i++)
        for (j = 0; j < 17; j++)
            if (v[i][j] - '0' < 0 && v[i][j] - '0'> 9)
                for (int s = 0; s < 18; s++)
                    cout << v[i][s];
     for (i = 0; i < n; i++)
         if (v[i][17] == a[sum[i] % 11])
         {
             for (j = 0; j < 17; j++)
                 if (v[i][j] - '0' >= 0 && v[i][j] - '0' <= 9)
                 {
                     c++;
                     if (c == 17)
                     {
                         d++;
                         c = 0;
                     }
                 }
         }
            if (d== n)
                   cout << "All pressed"<<endl;       
}
int main()
{
    int c[] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };
    int n,i=0,j;
    cin >> n;
    int sum[5] = { 0 };
    char v[10][18];
    for (j = 0; j < n; j++)
    {
        for (i = 0; i < 18; i++)
            cin >> v[j][i];
        for (i = 0; i < 17; i++)
            sum[j] += (v[j][i] - '0')*c[i];
    }
   ji(v,n,sum);
    system("PAUSE");
    return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容