#include <stdio.h>
#include <stdlib.h>
//日期结构体
typedef struct D
{
int year;
int month;
int day;
}Date;
//函数声明部分
int IsLeapYear(int year) ;
int GetDays(Date date);
//主函数部分
int main(int argc,char** argv)
{
Date date;
printf("请输入日期(1949.10.01):");
scanf("%d.%d.%d",&date.year,&date.month,&date.day);
int days=GetDays(date);
printf("%d年%d月%d日是%d年的第%d天\n",date.year,date.month,date.day,date.year,days);
system("pause");
return 0;
}
//判断是否是闰年
int IsLeapYear(int year)
{
return (year % 400 == 0 || year % 4 == 0 && year % 100 != 0);
}
//获得某年某月的最大天数
int GetDays(Date date)
{
int i;
int days=0;
int month_0[12]= {31,29,31,30,31,30,31,31,30,31,30,31}; //闰年数组
int month_1[12]= {31,28,31,30,31,30,31,31,30,31,30,31}; //平年数组
if(IsLeapYear(date.year))
{
for (i=0;i < date.month-1;i++)
{
days += month_0[i];
}
}
else
{
for (i=0;i < date.month-1;i++)
{
days += month_1[i];
}
}
days+=date.day;
return days;
}
实例25 计算某日是该年的第几天
最新推荐文章于 2023-12-11 22:10:24 发布