一、知识点
这里所有涉及到的都是公历(阳历)
1、闰年的判断
能被100整除的年份,能被400整除时,闰
不能被100整除的年份,能被4整除时,闰
2、一年有多少天
一年有12个月,这12个月分3类
第一类:大月,每月31天,共7个;分别是1月,3月,5月,7月,8月,10月,12月
第二类:小月,每月30天,共4个;分别是4月,6月,9月,11月
第三类:2月,平年2月是28天,闰年2月是29天
所以,平年全年是365天,闰年全年是366天
二、题目
1、描述
根据输入的日期,计算是这一年的第几天。
保证年份为4位数且日期合法。
2、输入
输入一行,每行空格分割,分别是年,月,日
3、输出
输出是这一年的第几天
三、自己写的代码
#include<stdio.h>
int main() {int year, month, day, sum = 0;char IsLeapYear = 0;scanf("%d %d %d", &year, &month, &day);if (year % 100 == 0) {if (year % 400 == 0) {IsLeapYear = 1;}} else {if (year % 4 == 0) {IsLeapYear = 1;}}if (month == 2) {sum += 31;} else if (month == 3) {sum += 59;} else if (month == 4) {sum += 90;} else if (month == 5) {sum += 120;} else if (month == 6) {sum += 151;} else if (month == 7) {sum += 181;} else if (month == 8) {sum += 212;} else if (month == 9) {sum += 243;} else if (month == 10) {sum += 273;} else if (month == 11) {sum += 304;} else if (month == 12) {sum += 334;}if (IsLeapYear == 1 && month > 2) {sum += 1;}sum += day;printf("%d\n", sum);return 0;
}