#include <stdio.h>
struct DATE /*定义一个日期结构*/
{
int year; /*年*/
int month; /*月*/
int day; /*日*/
};
/*定义一个函数,计算该日期是第几天*/
int DaysOfYear(struct DATE day);
int main()
{
struct DATE date;//日期结构
int k;//天数
printf("请输入XX年xx月xx日\n");
scanf("%d %d %d",&date.year ,&date.month ,&date.day);
printf("\n你输入的日期是%d年%d月%d日.\n",date.year ,date.month ,date.day);
k = DaysOfYear(date);//计算天数
printf("\n%d年%d月%d日是该年的第%d天.\n",date.year, date.month, date.day, k);
return 0;
}
/*定义一个函数,计算该日期是第几天*/
int DaysOfYear(struct DATE day)
{
int sum;
switch(day.month)
{
case 1:
{
sum = day.day;
}
break;
case 2:
{
sum = 31 + day.day;
}
break;
case 3:
{
sum = 31 + 28 + day.day;
}
break;
case 4:
{
sum = 31 + 28 + 31 + day.day;
}
break;
case 5:
{
sum = 31 + 28 + 31 + 30 + day.day;
}
break;
case 6:
{
sum = 31 + 28 + 31 + 30 + 31 + day.day;
}
break;
case 7:
{
sum = 31 + 28 + 31 + 30 + 31 + 30 + day.day;
}
break;
case 8:
{
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day.day;
}
break;
case 9:
{
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day.day;
}
break;
case 10:
{
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day.day;
}
break;
case 11:
{
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day.day;
}
break;
case 12:
{
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day.day;
}
break;
default:
{
printf("你的输入有误!!!\n");
return 0;
}
break;
/*判断是否是闰年*/
if((0 == day.year %4 && 0 != day.year % 100)||(0 == day.year % 400))
{
sum++;
}
}
return sum;
}
执行结果:
当输入2014年1月25日
当输入2014年6月1日