题目描述
定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。
输入
年月日
输出
当年第几天
样例输入 Copy
2000 12 31
样例输出 Copy
366
#include<stdio.h>
struct days{
int year;
int month;
int day}a;
int main(void){
scanf("%d%d%d",&a.year,&a.month,&a.day);
int result;
if(a.month==1){
printf("%d",result=a.day);
}
else if(a.month==2) {printf("%d",result=31+a.day);}
else if(a.month==3){if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=60+a.day);}
else printf("%d",result=59+a.day);
}
else if(a.month==4)
{
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0))
{
printf("%d",result=91+a.day);
}
else printf("%d",result=90+a.day);
}
else if(a.month==5){
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=121+a.day);}
else printf("%d",result=120+a.day);
}
else if(a.month==6){
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=152+a.day);}
else printf("%d",result=150+a.day);
}
else if(a.month==7){
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=182+a.day);}
else printf("%d",result=181+a.day);
}
else if(a.month==8){
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=213+a.day);}
else printf("%d",result=212+a.day);
}
else if(a.month==9){
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=244+a.day);}
else printf("%d",result=243+a.day);
}
else if(a.month==10){
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=274+a.day);}
else printf("%d",result=272+a.day);
}
else if(a.month==11){
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=305+a.day);}
else printf("%d",result=304+a.day);
}
else if(a.month==12){
if((a.year%4==0&&a.year%100!=0)||(a.year%400==0)){
printf("%d",result=335+a.day);}
else printf("%d",result=334+a.day);
}
return 0;
}