c++---天梯赛---查验身份证
★题目:

★题目分析:本题要求输入一个数字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++---天梯赛---查验身份证的更多相关文章
- 团体程序设计天梯赛-练习集L1-016. 查验身份证
L1-016. 查验身份证 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个合法的身份证号码由17位地区.日期编号和顺序编号 ...
- PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)
PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++: 欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/ ...
- PAT团体程序设计天梯赛 - 模拟赛
由于本人愚笨,最后一题实在无力AC,于是只有前14题的题解Orz 总的来说,这次模拟赛的题目不算难,前14题基本上一眼就有思路,但是某些题写起来确实不太容易,编码复杂度有点高~ L1-1 N个数求和 ...
- 【CCCC天梯赛决赛】
cccc的天梯赛决赛,水题一样的水,中档题以上的还是没做出来.补了一下题,觉得其实也不是很难,主要是练的少. L2-1:红色预警 并查集 我做的时候想不到并查集,想到了也不一定做的出来,都是其实不难. ...
- PAT乙级 1031. 查验身份证(15) 标志要清零!!!!!!!!!
1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个合法的身份证号码由17位地区. ...
- PAT-乙级-1031. 查验身份证(15)
1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个合法的身份证号码由17位地区. ...
- 记第一届 CCCC-团体程序设计天梯赛决赛 参赛
其他都没什么,上午报道,下午比赛两个半小时,最后139分 但四我超遗憾的是,最后在做L3-1二叉搜索树,因为看到有辣么多人做出来,可是我没做出来啊 比赛结束后看了看其他两道当场吐血,L3-3直捣黄龙不 ...
- L1-049 天梯赛座位分配
L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...
- 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
随机推荐
- Python:监控ASM剩余空间
#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'Jipu FANG' version = 0.1 import cx_Oracle ...
- Webpack 2 视频教程 019 - Webpack 2 中配置多页面编译
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- 关于使用Log4Net将日志插入oracle数据库中
1.关于配置文件. <?xml version="1.0" encoding="utf-8" ?> <configuration> &l ...
- Building an MFC project for a non-Unicode character set is deprecated
1>------ 已启动生成: 项目: TestSdk, 配置: Debug Win32 ------1>C:\Program Files (x86)\MSBuild\Microsoft. ...
- 通过渲染改变tabBarItem的背景图片
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #703daa } p.p2 { margin: 0.0px 0. ...
- 通过window.location.search获取页面url传递的参数
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
- 用AndroidStudio发布Libs到Bintray jCenter
1 RootProject[根目录]build.gradle中添加如下插件引用 dependencies { ....... classpath 'com.jfrog.bintray.gradle:g ...
- 知识点练习day9
列表 作用:多个装备,多个爱好,多门课程,多个女朋友等 定义:[]内可以有多个任意类型的值,逗号分隔 my_girl_friends=['alex','wupeiqi','yuanhao',4,5] ...
- 简易 (I/O)版本通讯录
#include <stdio.h> #include<assert.h> //#include<malloc.h> #include<string.h> ...
- 深入理解JVM(三)——配置参数
JVM配置参数分为三类参数: 1.跟踪参数 2.堆分配参数 3.栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存. 跟踪参数 跟踪参数用于跟踪监控JVM,往往被开发人员用于J ...