怎样用c语言编写以年月日的格式输入一个人的生日和当前日期,来计算这个人的年龄

如题所述

第1个回答  2011-01-25
我给你写的不仅能显示年龄而且能显示距现在的天数。当前日期无需输入,程序自动调取系统日期。。运行过了没有任何问题。有什么问题可以交流下。

#include <stdio.h>
#include<time.h>
//计算给定的日期是本年的第几天
int count(int year,int month,int day)
{int i,sum=0,flag=0;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1;i<month;i++)
sum=a[i]+sum;
if(year%400==0||year%100!=0&&year%4==0)
flag=1;
if(flag==1&&month>2) sum++;
sum=sum+day;

return sum;

}

int main()
{
int year,month,day;
time_t t;
struct tm *local;
int sum=0,i;
t=time(NULL);
local=localtime(&t);
printf("今天的日期:%d年%d月%d日\n",local->tm_year+1900,local->tm_mon+1,local->tm_mday);
printf("输入生日:");
scanf("%d%d%d",&year,&month,&day);
for(i=year+1;i<local->tm_year+1900;i++)
{
if(i%400==0||i%100!=0&&i%4==0)
sum+=366;
else sum+=365;
}
if((year%400==0||year%100!=0&&year%4==0))
sum+=366-count(year,month,day);
else sum+=365-count(year,month,day);
sum+=count(local->tm_year+1900,local->tm_mon+1,local->tm_mday);
printf("%d年%d月%d日距今天有%d天\n",year,month,day,sum);
printf("\n你的年龄为%d\n",local->tm_year+1900-year);

}

c编程高手团队正在招新,有意者速速行动,一起学习,一起努力!

怎样用c语言编写以年月日的格式输入一个人的生日和当前日期,来计算这 ...
sum+=count(local->tm_year+1900,local->tm_mon+1,local->tm_mday);printf("%d年%d月%d日距今天有%d天\\n",year,month,day,sum);printf("\\n你的年龄为%d\\n",local->tm_year+1900-year);} c编程高手团队正在招新,有意者速速行动,一起学习,一起努力!

c语言输入一个人的生日(年月日),并输入当前日期(年月日),计算输出改学 ...
} printf("该学生年龄是%d岁,经过了%d个平年,%d个闰年!\\n",(endYear-startYear),p,r);}

c语言中根据当前日期和出生日期,计算出实际年龄。
&year,&month,&day);printf("请输入当前日期:");scanf("%d %d %d",&year1,&month1,&day1);if(year1==year) age=0;else{age=year1-year; if(month1<month||(month1==month&&day1<day)) age=age-1;}printf("您...

输入一个学生生日(y0,m0,d0)和当前日期(y1,m1,d1),计算并输出该学生实...
include <stdio.h> int main(void){ int y0, m0, d0;int y1, m1, d1;int age;printf("enter your birthday:\\n");scanf("%d%d%d", &y0, &m0, &d0);printf("enter current date:\\n");scanf("%d%d%d", &y1, &m1,&d1);age = y1 - y0;if(m1 < m0)--age;else if(m1 =...

C语言编程实现---计算实际年龄
int get_age(){ unsigned y1,m1,d1,y2,m2,d2,age=0;printf("请分别输入出生日期和当前日期\\n");do{ scanf("%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2);if(y2 < y1 || y2 == y1 && m2 < m1 || y2 == y1 && m2 == m1 && d2 < d1 )printf("输入不合理,请重新输入...

C语言编程,求一个人的年龄是多少。
第一行第一的是y0,你写成了yo include<stdio.h>int main(){int y0,m0,d0,y1,m1,d1,nianling;\/\/\/y0printf("请输入您的生日:");scanf("%d,%d,%d",&y0,&m0,&d0);printf("请输入当前日期:");scanf("%d,%d,%d",&y1,&m1,&d1);nianling=y1-y0;if(m1>m0){if(d1>d0)nianling...

请输入甲乙两个人的生日,判断并输出甲乙谁的年龄大,大多少,c语言
printf("请输入乙的出生年月日yyyy m d:");scanf("%d%d%d",&y2,&m2,&d2);printf("请输入当天日期yyyy m d:"); \/\/这是为了计算过了生日,就增加1岁 scanf("%d%d%d",&y,&m,&d);nl1=y-y1-1+(m1<m||m1==m&&d1<=d);nl2=y-y2-1+(m2<m||m2==m&&d2<=d);printf...

编写一个程序输入一个人出生年月日和当前日期,计算出他的年龄和距离下...
用万年历算法, y, m, d 分别表示年月日 int getDay ( int y, int m, int d ){ static int dm [] = { 333, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 303 };y += (m-1)\/12;m %=12;\/\/ 计算闰年 if ( !(y%400) ) r = 1; else if ( !(y%100) ) ...

编写一个计算自己年龄的函数
current.day < birthday.day) age--; return age;}int main(void){ DATE birthday = {1990,6,26}, cur; printf("输入当前日期: "); scanf("%d %d %d", &cur.year, &cur.month, &cur.day); printf("年龄: %d\\n", getage(birthday, cur));} ...

用C语言写出一个程序 提示用户输入出生日期,例如:生日为1982年4月5...
include <stdio.h> int main(void){ int nian, yue, ri;printf("请输入您的出生日期,输入的格式为xxxx年xx月xx日(注:年月日三字以空格代替即可)\\n");scanf("%d %d %d", &nian, &yue, &ri);printf("您的生日是%d年%d月%d日!\\n", nian, yue, ri);return 0;} ...

相似回答