很大码猴 2021-08-23 23:15 采纳率: 92.9%
浏览 26
已结题

pat乙级 1031查验身份证

#include
using namespace std;
#include
int main()
{
int n;
cin >> n;
int quanzhong[17] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };
char xiaoyan[11] = { '1','0','x','9','8','7','6','5','4','3','2' };
int cnt = 0;
for (int i = 1; i <= n; i++)
{
int sum = 0;
int flag = 1;
char id[18];
scanf("%s",id);
for (int i = 0; i < 17; i++)
{
if (!(id[i] >= '0'&&id[i] <= '9'))
{
cout << id << endl;
cnt++;

            flag = 0;
            break;
        }
    }
    if (flag == 1)
    {
        for (int j = 0; j < 17; j++)
        {
            sum = sum + (id[j] - '0')*quanzhong[j];
        }
        if (xiaoyan[sum % 11] != id[17])
        {
            cout << id << endl;
            cnt++;
        }
    }
}
if (cnt == 0)
{
    cout << "All passed" << endl;
}
system("pause");
return 0;

}
img
为什么这样会部分正确,网上有个答案跟我基本一样但是全部正确

  • 写回答

2条回答 默认 最新

  • Pliosauroidea 2021-08-23 23:39
    关注

    img
    行了跑过了
    原文校验码是大写的X,你匹配用的是小写的x,所以有的点通不过
    有帮助望采纳

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月1日
  • 已采纳回答 8月24日
  • 创建了问题 8月23日

悬赏问题

  • ¥15 纯运放实现隔离采样方案设计
  • ¥20 easyconnect无法连接后缀带.com的网站,一直显示找不到服务器ip地址,但是带有数字的网站又是可以连接上的,如何解决
  • ¥15 电脑开机过商标后就直接这样,求解各位
  • ¥15 mysql , 用自己创建的本地主机和用户名 登录不上
  • ¥15 关于#web项目#的问题,请各位专家解答!
  • ¥15 vmtools环境不正常
  • ¥15 请问如何在Ubuntu系统中安装使用microsoft R open?
  • ¥15 jupyter notebook
  • ¥30 informer时间序列预测
  • ¥20 SSR引物多态性分析