用C语言求:写一个函数,从给定的身份证号中提取出生年月信息,并按日期格式输出。

如题所述

#include <stdio.h>
#include <string.h>

void main()
{
int len,year,month,day;
char str[30],str1[10];

printf("\n请输入身份证号:\n");
gets(str);
len=strlen(str);
if(len==18)
{
sscanf(str, "%6c%4d%2d%2d", str1,&year,&month,&day);
printf("出生日期:%d年%d月%d日\n",year,month,day);
}
else printf("输入错误!\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-28
#include<stdio.h>

int year=0,month=0,day=0;

void getDate(char *num)
{
year=(num[6]-'0')*1000+(num[7]-'0')*100+(num[8]-'0')*10+(num[9]-'0');
month=(num[10]-'0')*10+(num[11]-'0');
day=(num[12]-'0')*10+(num[13]-'0');
}

void main()
{
char num[20]={NULL};

printf("请输入身份证号: \n");
scanf("%s",num);

getDate(num);

printf("year=%d,month=%d,day=%d",year,month,day);
}本回答被网友采纳
相似回答