C语言编程实现---计算实际年龄

来源:百度知道 编辑:UC知道 时间:2024/07/03 10:48:37
计算实际年龄,不能只考虑年份,还应该考虑是否已过生日。(if结构)
分析:
1)确定变量:y1,m1,d1,y2,m2,d2,age
2)数据输入和有效性检查:
输入y1,m1,d1,y2,m2,d2后,当y2 < y1 || y2 == y1 && m2 < m1 || y2 == y1 && m2 == m1 && d2 < d1 时,提示:warnning ! Please input now again.
3)年龄计算:
当m2 > m1 || m2 == m1 && d2 > d1时,年龄 age = y2 – y1
当m2 < m1 || m2 == m1 && d2 < d1时,年龄age = y2 – y1-1
4)输出年龄即可

//---------------------------------------------------------------------------

#include <stdio.h>

int main(void)
{
int y1,m1,d1,y2,m2,d2,age;
do{
printf("birthday(Y M D):\t");
scanf("%d%d%d",&y1,&m1,&d1);
printf("today(Y M D):\t");
scanf("%d%d%d",&y2,&m2,&d2);
if (y2<y1 || y2 == y1 && m2 < m1 || y2 == y1 && m2 == m1 && d2 < d1) {
puts("warnning ! Please input now again.");
}
}
while (y2<y1 || y2 == y1 && m2 < m1 || y2 == y1 && m2 == m1 && d2 < d1);
if (m2 > m1 || m2 == m1 && d2 > d1) {
age=y2-y1;
}
else if (m2 < m1 || m2 == m1 && d2 < d1) {
age=y2-y1-1;
}
printf("Age:%d\n",age);
return 0;
}
//---------------------------------------------------------------------------

#include <stdio.h>

int get_age()