奉和令公绿野堂种花:请教C高手回答简单问题。

来源:百度文库 编辑:高考问答 时间:2024/04/28 04:00:59
帮我编一个C程序:
输入一位学生的生日(年:y0、月:m0、日:d0);并输入当前的日期(年:y1、月m1、日d1);输出该生的实足年龄。
谢谢!

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

int daysByMonth(int y, int m)
{
switch(m)
{
case 1:return 31; break;
case 2:return 28+(y%4==0&&(y%400==0||y%100!=0));break;
case 3:return 31; break;
case 4:return 30; break;
case 5:return 31; break;
case 6:return 30; break;
case 7:return 31; break;
case 8:return 31; break;
case 9:return 30; break;
case 10:return 31; break;
case 11:return 30; break;
case 12:return 31; break;
}
}

main()
{
int y0, m0, d0;
int y1, m1, d1;
int k;
printf("请输入出生的日期,格式为2001/9/11\n");
scanf("%d/%d/%d",&y0, &m0, &d0 );
printf("请输入现在的日期,格式为:2006/8/11\n");
scanf("%d/%d/%d",&y1, &m1, &d1);
//int agey = y1-y0;
//int agem = agey*12 + m1-m0;
int ageDay = 0;

if ((y0>y1)||(y0==y1&&m0>m1)||(y0==y1&&m0==m1&&d0>d1))
{
k=y0; y0=y1; y1=k;
k=m0; m0=m1; m1=k;
k=d0; d0=d1; d1=k;
}

ageDay = d1;
for( ; !(y0==y1&&m0==m1); m0++)
{
ageDay += daysByMonth(y0,m0);
if(m0==12)
{
y0++;
m0=0;
}
}
ageDay = ageDay-d0;
printf("这位朋友生存了 %d\n天", ageDay);
getchar();
getchar();
return 0;
}

用数据库做啊!!!!!!!!!