一、题目描述:
输入年、月、日,计算该天是本年的第几天。
二、解法
1. 解法1:switch语句
#include <stdio.h>
int main() {
int y, m,d;
int n=0;
scanf("%d %d %d", &y, &m, &d)
switch(m){
case 12:
n+=30;
case 11:
n+=31;
case 10:
n+=30;
case 9:
n+=31;
case 8:
n+=31;
case 7:
n+=30;
case 6:
n+=31;
case 5:
n+=30;
case 4:
n+=31;
case 3:
if((y%4==0&&y%100!=0)||(y%400==0)) n+=29;//判断是否为闰年,年份是4的倍数且不是100的倍数,或者年份是400的倍数
else n+=28;
case 2:
n+=31;
case 1:
n+=d;
}
printf("%d\n",n);
}
return 0;
}
2. 解法2:运用数组对平年和闰年每个月天数预处理