定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。
运行参考示例:
输入1:2018,3,15
输出1:3/15 is the 74th day in 2018.
输入2:2020,5,25
输出2:5/25 is the 146th day in 2020.
输入3:2008,2,15
输出3:2/15 is the 46th day in 2008.
运行代码如下:
#include<stdio.h>
struct Date
{
int year;
int month;
int day;
};
int main()
{
struct Date date;
scanf("%d,%d,%d",&date.year,&date.month,&date.day);
int Days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, days = 0;
for (i = 1; i < date.month; i++)
{
days += Days[i];
}
days += date.day;
if(date.month > 2)
{
if (date.year%400 == 0 || (date.year%4 == 0 && date.year%100 != 0)){
++days;
}
}
printf("%d/%d is the %dth day in %d.\n",date.month,date.day,days,date.year);
return 0;
}