日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

身份证号升级

發(fā)布時間:2024/3/13 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 身份证号升级 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題描述 從1999年10月1日開始,公民身份證號碼由15位數(shù)字增至18位。(18位身份證號碼簡介)。升級方法為:
  1、把15位身份證號碼中的年份由2位(7,8位)改為四位。
  2、最后添加一位驗證碼。驗證碼的計算方案:
  將前 17 位分別乘以對應系數(shù) (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以 11 取余數(shù),0-10 分別對應 1 0 x 9 8 7 6 5 4 3 2。
  請編寫一個程序,用戶輸入15位身份證號碼,程序生成18位身份證號碼。假設所有要升級的身份證的四位年份都是19××年 輸入格式 一個15位的數(shù)字串,作為身份證號碼 輸出格式 一個18位的字符串,作為升級后的身份證號碼 樣例輸入 110105491231002 樣例輸出 11010519491231002x #include"stdio.h"int main(){char a[20];int i,j,flag,sum=0;int b[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};char c[11]={'1','0','x','9','8','7','6','5','4','3','2'};scanf("%s",&a);for(i=14;i>5;i--){a[i+1]=a[i]; }a[6]='9';for(i=15;i>5;i--){a[i+1]=a[i];}a[6]='1';for(i=0,j=0;i<17,j<17;i++,j++){sum+=(a[i]-'0')*b[j];}flag=sum%11;a[17]=c[flag];for(i=0;i<17;i++){printf("%d",a[i]-'0');}printf("%c",a[17]);return 0; }

總結

以上是生活随笔為你收集整理的身份证号升级的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。