★题目:

★题目分析:本题要求输入一个数字n,随后n行输入n个身份证号码。之后进行进一步的判断把错误的身份证号码输出。如果全部正确输出All passed。

★思路方法:

①按题目要求输入。

②对前17位进行判断,若出现错误字符则将之存入待输出位置。

③对前17位进行加权处理并对11取模。

④找到第18位应该是的字符并且和身份证上实际的字符进行比较。

⑤对所有情况综合处理并按要求输出。

★注意:身份证共18位,实际字符应与a【17】进行比较

★代码解释:

#include<stdio.h>
int main()
{
int PAN(char a[]); //对身份证号码的正确性进行判断
char a[][]; //用于存放所输入的身份证号码
int b[];
int n,i,j,o;
int t; //用于判断身份证
int s=0; //用于统计正确身份证的数量
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%s",a[i]);
t=PAN(a[i]);
b[i]=t;
if(t==)
s++;
t=;
}
if(s!=n) //此时所输入的身份证号码不全部都正确
for(j=;j<i;j++)
{
if(b[j]==)
{
for(o=;o<=;o++)
printf("%c",a[j][o]);
printf("\n");
} //对不正确的身份证号码进行输出
}
else
printf("All passed\n"); //全部正确的情况
}
int PAN(char a[])
{
int i,t=,s=,z;
int b[]={,,,,,,,,,,,,,,,,};
char c[]={'','','X','','','','','','','',''};
char d;
for(i=;i<;i++)
if(a[i]<''||a[i]>'')
{t=;break;} //对前17位进行判断
if(t!=)
{
for(i=;i<;i++)
s=s+(a[i]-'')*b[i];
z=s%;
d=c[z]; //身份证第18位应为的字符
}
if(d!=a[]) //应为的与实际的进行比较
t=;
return(t); //若t为1则正确,0则错误
}

★测试结果:

c++---天梯赛---查验身份证的更多相关文章

  1. 团体程序设计天梯赛-练习集L1-016. 查验身份证

    L1-016. 查验身份证 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个合法的身份证号码由17位地区.日期编号和顺序编号 ...

  2. PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)

    PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:      欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/ ...

  3. PAT团体程序设计天梯赛 - 模拟赛

    由于本人愚笨,最后一题实在无力AC,于是只有前14题的题解Orz 总的来说,这次模拟赛的题目不算难,前14题基本上一眼就有思路,但是某些题写起来确实不太容易,编码复杂度有点高~ L1-1 N个数求和 ...

  4. 【CCCC天梯赛决赛】

    cccc的天梯赛决赛,水题一样的水,中档题以上的还是没做出来.补了一下题,觉得其实也不是很难,主要是练的少. L2-1:红色预警 并查集 我做的时候想不到并查集,想到了也不一定做的出来,都是其实不难. ...

  5. PAT乙级 1031. 查验身份证(15) 标志要清零!!!!!!!!!

    1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个合法的身份证号码由17位地区. ...

  6. PAT-乙级-1031. 查验身份证(15)

    1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个合法的身份证号码由17位地区. ...

  7. 记第一届 CCCC-团体程序设计天梯赛决赛 参赛

    其他都没什么,上午报道,下午比赛两个半小时,最后139分 但四我超遗憾的是,最后在做L3-1二叉搜索树,因为看到有辣么多人做出来,可是我没做出来啊 比赛结束后看了看其他两道当场吐血,L3-3直捣黄龙不 ...

  8. L1-049 天梯赛座位分配​​​​​​​

    L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...

  9. 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

随机推荐

  1. Oracle ADG搭建

    Oracle Active Data Guard搭建 一:安装 1.基础环境配置 1.1.开启强制日志记录 DG日志发送方式中ARCH进程和LGWR进程的ASYNC模式都是基于日志同步的,所以我们必须 ...

  2. Thomas Hobbes: Leviathan

    Man is distinguished, not only by his reason, but by this singular passion from other animals, which ...

  3. ssh简明安全规划

    禁止使用口令只允许使用密钥建立 SSH 连接 1.创建 SSH KEY 使用ssh-keygen生成一个密钥对,并且将公钥注册到服务器的 $HOME/.ssh/authorized_keys 文件. ...

  4. (转) Linux中profile、bashrc、bash_profile之间的区别和联系

    原文地址:http://blog.csdn.net/chenchong08/article/details/7833242 /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登 ...

  5. K:java序列化与反序列化—transient关键字的使用

      首先,应该明白的是transient是java中的一个关键字,音标为 英: [ˈtrænziənt].   在了解transient关键字之前,应该先弄明白序列化和反序列化.所谓的序列化,通俗点的 ...

  6. JavaScript的DOM编程--05--获取文本节点

    获取文本节点: 1). 步骤: 元素节点 --> 获取元素节点的子节点 2). 若元素节点只有文本节点一个子节点, 例如 <li id="bj" name=" ...

  7. css挖坑爬坑之div高宽相等

    目标效果 对于这么一个头像,外面是一个圆角的div里面是一个img,对于外面的div我要使他高度等于宽度. 发现问题 开始的时候设置宽度为100%然后高度为100%,这样子对于宽度来说的话可以撑满页面 ...

  8. 人工神经网络,支持任意数量隐藏层,多层隐藏层,python代码分享

    http://www.cnblogs.com/bambipai/p/7922981.html------误差逆传播算法讲解 人工神经网络包含多种不同的神经网络,此处的代码建立的是多层感知器网络,代码以 ...

  9. 纯css去实现loading动画效果图

    当项目中加载内容慢的的时候,需要显示一个loading动画效果图 之前我们使用的是一圈点点旋转的效果,现在设计修改为,如下gif图片效果-------------------------------- ...

  10. Linux下查询进程PS或者杀死进程kill的小技巧

    假设我们要kill掉tomcat: 那么我们首先需要tomcat的进程号pid: ps -aux | grep tomcat 记下tomcat的PID后,执行:kill PID(tomcat) 好了, ...