很大码猴 2021-08-23 23:15 采纳率: 100%
浏览 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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Pliosauroidea 2021-08-23 23:34
    关注

    img
    ??我原样没动直接找了个题库运行,直接全过
    是题库的问题还是我的问题

    评论
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 求苹果推信imessage批量推信技术
  • ¥15 ubuntu 22.04 系统盘空间不足。隐藏的docker空间占用?(相关搜索:移动硬盘|管理系统)
  • ¥15 利用加权最小二乘法求亚马逊各类商品的价格指标?怎么求?
  • ¥15 c++ word自动化,为什么可用接口是空的?
  • ¥15 Matlab计算100000*100000的矩阵运算问题:
  • ¥50 VB6.0如何识别粘连的不规则的数字图片验证码
  • ¥16 需要完整的这份订单所有的代码,可以加钱
  • ¥15 Stata数据分析请教
  • ¥15 请教如何为VS2022搭建 Debug|win32的openCV环境?
  • ¥15 关于#c++#的问题:c++如何使用websocketpp实现websocket接口调用,求示例代码和相关资料