函数身份证比年龄C语言 c语言输入身份证号计算年龄

c语言如何从输入的身份证号算出年龄#include iostream
/*时间自己设置喽*/
#define year 2014
#define month 3
#define day 10
using namespace std;
int main()
{
/*手机党码字不容易,求好评!如果有错 , 偶表示屏幕?。?不方便看,请谅解!有问题请随时联系!*/
cout"请输入您的身份证号码 。"endl;
int id[18];//用于存储身份证号码
/*号码输入*/
for(int i=0;i18;i)
cin*(id i);
int y=1000*id[6] 100*id[7] 10*id[8] id[9];
int m=id[10]*10 id[11];
int d=id[12]*10 id[13];
int age=-1;//一旦输出年龄为-1表示报错
if(yyear)
cout"别开玩笑了 , 没出生的人怎么会有身份证!"endl;
else if(y==yearmmonth)
cout"别开玩笑了,没出生的人怎么会有身份证!"endl;
else if(y==yearm==monthdday)
cout"别开玩笑了,没出生的人怎么会有身份证!"endl;
else
{
age=year-y-1;//年龄初始化,还不是准确年龄
if(monthm)
age;
else if(month==mday=d)
age;
}
cout"你的年龄是"age"岁 。"endl;
return 1;
}
C语言:输入身份证号码,输出出生年和该年是否为闰年,并计算多少岁 。咋编程?代码文本:
#include "stdio.h"
#include "time.h"
int main(int argc,char *argv[]){
char s[19];
int y,t,ty;
time_t lt;
printf("Please enter your ID number...\n");
if(scanf("s",s)==1){
for(t=0;s[t];t);
if(t==18){
for(t=0;s[t];t)
if((s[t]'0' || s[t]'9')(s[17]0xDF)!='X'){
printf("Input error, exit...\n");
return 0;
}
sscanf(s 6,"M",y);
printf("\nThe year %d you were born is ",y);
if(!(y%4==0y0 || y@0==0))
【函数身份证比年龄C语言 c语言输入身份证号计算年龄】printf("not ");
ty=localtime((lt=time(NULL)))-tm_year 1900-y;
printf("a leap year.\nYou're %d year(s) old...\n",ty);
}
else
printf("Input error, exit...\n");
}
else
printf("Input failed, exit...\n");
return 0;
}
C语言:根据新老身份证 , 比较他们的年龄大小·~~#include stdio.h
#include string.h
char* input()
{
char a[18];
char b[8];
char *p;
int i;
int j=0;
for (i=0;i18;i)
{
scanf("%c",a[i]);
if (i6i14)
{
b[j]=a[i];
j;
}
}
p=b;
return p;
}
int compare()
{
char b[8];
char c[8];
char *pi;
int i;
printf("请输入一个人的身份证号\n");
pi=input();
for (i=0;i8;i)
{
b[i]=*pi;
}
printf("请输入另一个人的身份证号\n");
pi=input();
for (i=0;i8;i)
{
c[i]=*pi;
}
i=strcmp(b,c);
return i;
}
void main()
{
int i;
i=compare();
switch(i)
{
case -1:
printf("第一个人年龄大");
break;
case 0:
printf("两个人的年龄相同");
break;
case 1:
printf("第二个人年龄大");
break;
default:
break;
}
}
输入身份证号码输出年龄,生日的C语言程序#includestdio.h
#includestdlib.h
int idage(char *str)
{ int i;
char idcard1[100];
int year;
intyear;
for(i=0;i=3;i)
{
idcard1[i]=str[i 6];
}
idcard1[i]='\0';
year=atoi(idcard1);//atoi函数c语言库函数将字符串转换为整数,也就得到年份函数身份证比年龄C语言;
age=2015-num;
return age;
}
intidsex(char *str)
{
if(str[16]%2==0)
return -1;
if(str[16]%2!=0)
return 1;
}
void main()
{char idcard[100];
intsex;
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);
}
得到年龄函数身份证比年龄C语言的函数还可以写成函数身份证比年龄C语言:
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;//得到年份函数身份证比年龄C语言;
}
age=2015-year;
return age;
}
如何用c语言实现输入身份证号输出年龄1、身份证号有18位 , 无符号长整型unsigned
long也存不下的,不适合用数值计算的方法解决此类问题 。因为身份证号的格式标准统一,所以可以使用字符串处理的方法实现 。
1)把输入的身份证号保存到字符串中 。
2)取其中的第7到14个字符
3)输出2、例程:#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;
}
函数身份证比年龄C语言的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于c语言输入身份证号计算年龄、函数身份证比年龄C语言的信息别忘了在本站进行查找喔 。

    推荐阅读