
正文
c语言函数身份证 c语言输入身份证输出年月日
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言程序设计:写一个函数,从给定的身份证号中提取出生年月日
这个简单,用以字符串str[20]={身份证号码};出生月日就是倒数第7个元素到第14个元素结束;
用一个for循环,如str[20]="45032519901016127X";for(i=6;i=13;i++) putchar(str[i]);就可以了
结果是19901016,有木有?
相关问答
Q1: C语言提取身份证号码中的第十七位数用什么函数?
身份证号码中c语言函数身份证的第十七位通常是校验码c语言函数身份证,它是由前17位数字计算得出的,用于检验身份证号码的有效性。要提取身份证号码中的第十七位数,可以使用C语言中的字符串处理函数strncpy和strlen。
下面是一个示例代码c语言函数身份证:
在这个示例中,首先使用scanf函数读入一个身份证号码,并使用strlen函数计算它的长度。如果长度不为18,则认为这个身份证号码不合法,直接输出错误信息并结束程序。
否则,可以通过字符串索引方式直接取出第十七位校验码,并将其输出。注意,身份证号码中的每一位都是一个字符,因此在定义身份证号码的字符串时,需要预留一个额外的字符存储字符串的结尾标志\0,即定义为char id[19]。
需要注意的是,这只是提取身份证号码中的第十七位校验码,如果要进行身份证号码的完整校验,需要进行复杂的运算,具体实现方式可能因地区而异。
Q2: c语言输入身份证号输出地址码出生日期顺序码校验码?
我国身份证号码由18位数字和字母组成,其中前17位为身份证号的基本信息,最后一位为校验码。根据国家标准,身份证号码的前6位为地址码,第7到14位为出生日期码,第15到17位为顺序码。
以下是一个示例代码,可以实现从用户输入的身份证号中提取地址码、出生日期码和顺序码等信息,并输出到屏幕上:
#include stdio.h
#include string.h
int main() {
char id[19]; // 声明一个字符数组,用于存储身份证号码
printf("请输入身份证号码:");
scanf("%s", id); // 从用户输入中读取身份证号码
// 提取地址码
char addr[7];
strncpy(addr, id, 6);
addr[6] = '\0';
// 提取出生日期码
char birth[9];
strncpy(birth, id + 6, 8);
birth[8] = '\0';
// 提取顺序码
char order[4];
strncpy(order, id + 14, 3);
order[3] = '\0';
// 输出结果
printf("地址码:%s\n出生日期码:%s\n顺序码:%s\n校验码:%c\n", addr, birth, order, id[17]);
return 0;
}
在上述代码中,我们首先声明一个字符数组id,用于存储用户输入的身份证号码。然后使用scanf()函数从用户输入中读取身份证号码。接着,使用strncpy()函数从身份证号码中提取地址码、出生日期码和顺序码,并分别保存到addr、birth和order数组中。最后,通过输出语句将结果输出到屏幕上。
需要注意的是,身份证号码的最后一位为校验码,通常不被用于区分身份证号码的不同,因此在上述代码中并没有对校验码进行解析处理。
Q3: 如何用c语言实现输入身份证号输出年龄
1、身份证号有18位c语言函数身份证,无符号长整型unsigned
long也存不下c语言函数身份证的,不适合用数值计算的方法解决此类问题。因为身份证号的格式标准统一,所以可以使用字符串处理的方法实现。
1)把输入的身份证号保存到字符串中。
2)取其中的第7到14个字符
3)输出2、例程c语言函数身份证:#includestdio.h
#includestdlib.h
#includestring.h
int main()
{
char id[]="410246198704030811";
printf("请输入您的身份证号(18位数字):\n");
scanf("%s",id);
printf("您出生在%c%c%c%c年%c%c月%c%c日\n",id[6],id[7],id[8],id[9],id[10],id[11],id[12],id[13]);
system("pause");
return 0;
}
Q4: 输入身份证号码输出年龄,生日的C语言程序
#includestdio.h
#includestdlib.h
int idage(char *str)
{ int i;
char idcard1[100];
int year;
int year;
for(i=0;i=3;i++)
{
idcard1[i]=str[i+6];
}
idcard1[i]='\0';
year=atoi(idcard1);//atoi函数c语言库函数将字符串转换为整数,也就得到年份;
age=2015-num;
return age;
}
int idsex(char *str)
{
if(str[16]%2==0)
return -1;
if(str[16]%2!=0)
return 1;
}
void main()
{char idcard[100];
int sex;
int age;
gets(idcard);
sex=idsex(idcard);
if(sex==1)
printf("男\n");
if(sex==-1)
printf("女\n");
idage(idcard);
age=idage(idcard);
printf("此人今年是%d岁\n",age);
}
得到年龄的函数还可以写成:
int idage(char *str)
{ int i;
char idcard1[100];
int year=0;
for(i=0;i=3;i++)
{
idcard1[i]=str[i+6];
}
idcard1[i]='\0';
for(i=0;i=3;i++)
{
year=year*10+idcard1[i]-48;//得到年份;
}
age=2015-year;
return age;
}
Q5: c语言程序设计写个函数判断身份证男女
(不包括各位是字母的)
#includestdio.h
main()
{
int a[18];
printf("Please input a:");
for(i=0;i18;i++)
scanf("%d",a[i])
if(a[17]%2==0)
printf("女");
else
if(a[17]%2==1)
printf("女");
else
printf("无法识别");
}
c语言函数身份证的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言输入身份证输出年月日、c语言函数身份证的信息别忘了在本站进行查找喔。






