📄 15to18_src.c
字号:
#include "stdio.h"
#include "string.h"
#include "conio.h"
/*
* gen New 18 ID Card from old 15 ID
*/
char genNewID( char ID[], char NewID[])
{
int W[18] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1};
char A[11] = {'1','0','x','9','8','7','6','5','4','3','2'};
int i,j,S;
if(strlen(ID) != 15)
return -1;
memcpy( NewID, ID, 6 );
NewID[6]='1';
NewID[7]='9';
NewID[8]=0;
strcat( NewID, &ID[6] );
S = 0;
for(i=0;i<17;i++)
{
j = (NewID[i] - '0') * W[i];
S = S + j;
}
S = S % 11;
NewID[17] = A[S];
NewID[18] = 0;
return A[S];
}
int main(int argc, char* argv[])
{
char ID[20], NewID[20], ret;
puts("Please enter the old IDcard Number(15Numbers),\n");
puts("The program will make the New IDcard Number(18Numbers).\n");
do{
printf("Input your old 15 ID Card: ");
scanf( "%s", ID );
if(stricmp(ID, "exit") == 0)break;
ret = genNewID( ID, NewID );
printf("Your New 18 ID Card: %s \n\n", ret != -1 ? NewID : "Input Error!!");
}while(1);
getch();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -