/*=============================================================
给出年月日,计算该日是该年的第n天
算法分析:1 定义year、month、day,天数n,闰年标志id_yaer
2 如果year是闰年则id_year=1 否则=0
3 用swtich来累加天数n
==============================================================
作者:最后的村长
时间:2009年9月29日
工具:DEV C++
version:1.0
==============================================================*/
#include <stdio.h>
#include <stdlib.h>
/*=============================================================*/
int main()
{
int year,month,day,n=0,id_year=0;//定义和初始化年月日
printf("请输入年月日\n");
printf("年=");
scanf("%d",&year);
printf("\n月=");
scanf("%d",&month);
printf("\n日=");
scanf("%d",&day);
if((year%4==0&&year%100!=0)||(year%400==0))//判断year是否为闰年
id_year=1;
switch(month-1)//天数累加
{
case 12: n=n+31;
case 11: n=n+30;
case 10: n=n+31;
case 9: n=n+30;
case 8: n=n+31;
case 7: n=n+31;
case 6: n=n+30;
case 5: n=n+31;
case 4: n=n+30;
case 3: n=n+31;
case 2: n=n+27;
case 1: n=n+31;
}
if(id_year&&month>=2)//月大于2,加上闰年
n=n+1;
n=n+day;
printf("%d年%d月%d日是%d年的第%d天",year,month,day,year,n);
system("PAUSE");
return 0;
}
评论