2月28日这一天的第100天是哪一天呢?

老师好。
请教一下:比如说,在今年的2月28日发生了一件大事,我现在要知道距离2月28日的第100天是哪一天,如何准确计算呢?请老师详细指导一下。谢谢。

写一个程序就可以解决,如下:
#include<stdio.h>
int main()
{
int y,m,d,y0,m0,d0,y1,m1,d1;
printf("请输入出生日期!\n");
printf("年 月 日\n");
scanf("%d %d %d",&y0,&m0,&d0);
while(m0>12||d0>31)//天大于31或月大于12,则错误
{
printf("错误!\n请重新输入!\n");//重新输入
printf("请输入出生日期!\n");
printf("年 月 日\n");
scanf("%d %d %d",&y0,&m0,&d0);
}
printf("\n");
printf("请输入今天的日期!\n");
printf("年 月 日\n");
scanf("%d %d %d",&y1,&m1,&d1);
while(m1>12||d1>31||y1<y0)//天大于31或月大于12或现在的年份小于出生年份,则错误
{
printf("错误!\n请重新输入!\n");//重新输入
printf("请输入今天的日期!\n");
printf("年 月 日 \n");
scanf("%d %d %d",&y1,&m1,&d1);
}

if(y0%4==0)//如果出生的那年是闰年
{
if(m0==1||3||5||7||8||10||12)//有31天的月份
d=31-d0+d1;
if(m0==2) //又恰好是在特殊的二月
d=29-d0+d1;
if(m0==4||6||9||11) //有30天的月份
d=30-d0+d1;
}
else //不是闰年
{
if(m0==1||3||5||7||8||10||12)//同上
d=31-d0+d1;
else if(m0==2)//正常的二月
d=28-d0+d1;
if(m0==4||6||9||11)
d=30-d0+d1;
}
if(d>=30)//按上面的计算,天数可能会大于30
{
m=12-m0+m1-1+1;//那么月份在原来的基础加一
d=d-30;//天数就减少30
}
else m=12-m0+m1-1;//不大于30则正常
if(m>=12)//月份可能会大于12
{
y=y1-y0-1+1;//那么年数就在原来的基础上加一
m=m-12;//月数就减12
}
else y=y1-y0-1;//正常
printf("这个人的年龄为%d年%d月%d日",y,m,d);//输出
printf("\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-05
100-31(三月)-30(四月)-31(五月)=8(六月八日)
第2个回答  2011-06-05
31+30+31=92 100-92=8 六月8日
第3个回答  2011-06-06
6月8号
第4个回答  2011-06-05
6月8