定义一个结构体变量(包括年月日)。计算某日在一年中是第几天?(注意还要有闰年的判断)

来源:百度知道 编辑:UC知道 时间:2024/06/10 13:07:47
定义一个结构体变量(包括年月日)。计算某日在一年中是第几天?(注意还要有闰年的判断)

#include<stdio.h>
struct date
{
int year;
int month;
int day;
}date;
void main()
{
int sum=0,leap;
printf("\n请输入日期(年,月,日)\n");
scanf("%d,%d,%d",&date.year,&date.month,&date.day);
switch(date.month)//先计算某月以前月份的总天数。
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");
break;
}
sum=sum+date.day;//再加上某天的天数。
if(date.year%400==0||(date.year%4==0&&date.year%100!=0))
leap=1;
else
leap=0;
if(leap==1&&date.month>2)//如果是闰年且月份大于2,总天数应该加一天。
sum++;
printf("这天是当年的第 %d 天。\n",sum);
}

<