请定义一个表示日期的结构体类型,用于存储年、月、日。
在主函数中,从键盘读取三个整数(分别代表年、月、日),并存储在结构体变量中。计算该结构体变量代表的日期在本年中是第几天,注意闰年问题。
输入
输入3个整数,分别代表年、月、日,相邻两项之间用一个空格隔开。
输出
输出一个整数,代表该日期是这一年的第几天。
输入示例
2000 1 31
输出示例
31
数据范围
输入为合法的日期
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct Date{
int year;
int month;
int day;
}m={0,0,0};
int main(){
int a,b;
scanf("%d %d %d",&m.year,&m.month,&m.day);
if(m.month%2==1){
a=((m.month-1)/2)*61;
}
else{
a=((m.month-2)/2)*61+31;
}
if(m.year%100!=0&&m.year%4==0||m.year%100==0&&m.year%400==0){
if(m.month>2&&m.month<=8){
b=a-1;
}
else if(m.month>8){
b=a;
}
else{
b=a;
}
}
else{
if(m.month>2&&m.month<=8){
b=a-2;
}
else if(m.month>8){
b=a-1;
}
else{
b=a;
}
}
printf("%d",b+m.day);
return 0;
}