思路
- 月份表,口诀:一三五七八十腊,三十一天永不差
- 判断是否是闰年:口诀:4年1闰年,百年不闰,400年再闰
- 求和
- 最后再和天数相加
Answer
#include<stdio.h>
int main() {
// 1 2 3 4 5 6 7 8 9 10 11 12
int num[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int year, month, day;
int sum=0;
while (scanf("%d %d %d", &year, &month, &day) != EOF) {
//判断是否时闰年:能被4且不能被100整除或者400整除
if((year%400==0) || (year%4==0 && year%100!=0)){
// 是闰年
num[1]=29;
}else{
num[1]=28;
}
//1、3、5、7、8、10、12=31
//4、6、9、11=30天
for(int i=0; i<month-1; i++){
sum += num[i];
}
printf("%d",sum+day);
}
return 0;
}