栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++身份证校验码计算器

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++身份证校验码计算器

前两天课本上才学了身份证的组成,我来搞搞事情
说实话,这个根本没什么技术含量。课间瞎搞搞罢了
输入前17位,计算最后一位。

// Author:PanDaoxi
#include 
using namespace std;
int main(){
	char b[18],c;
	int a[18],s=0,ans;
	cin>>b;
	for(int i=0;i<18;i++){
		switch(b[i]){
			case '1':
				a[i]=1;
				break;
			case '2':
				a[i]=2;
				break;
			case '3':
				a[i]=3;
				break;
			case '4':
				a[i]=4;
				break;
			case '5':
				a[i]=5;
				break;
			case '6':
				a[i]=6;
				break;
			case '7':
				a[i]=7;
				break;
			case '8':
				a[i]=8;
				break;
			case '9':
				a[i]=9;
				break;
			case '0':
				a[i]=0;
				break;
		}
	}
	a[0]*=7,
	a[1]*=9,
	a[2]*=10,
	a[3]*=5,
	a[4]*=8,
	a[5]*=4,
	a[6]*=2,
	a[7]*=1,
	a[8]*=6,
	a[9]*=3,
	a[10]*=7,
	a[11]*=9,
	a[12]*=10,
	a[13]*=5,
	a[14]*=8,
	a[15]*=4,
	a[16]*=2;
	for(int i=0;i<17;i++){
		s+=a[i];
	}
	ans=s%11;
	switch(ans){
		case 0:
			c='1';
			break;
		case 1:
			c='0';
			break;
		case 2:
			c='X';
			break;
		case 3:
			c='9';
			break;
		case 4:
			c='8';
			break;
		case 5:
			c='7';
			break;
		case 6:
			c='6';
			break;
		case 7:
			c='5';
			break;
		case 8:
			c='4';
			break;
		case 9:
			c='3';
			break;
		case 10:
			c='2';
			break;
	}
	cout< 

我直接超级switch!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854112.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号