#include <iostream>
using namespace std;
int main() {
int year, month, day;
int i = 0;
int sum = 0;
while ( cin >> year >> month >> day) {
//1.要有一年的中的每一个月的天数,方便计算
int MonthDay[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
//2.把这一年的已过的月份的天数先加上,再加上,这个月的天数,比如2023 11 8,
//先把前面10个月的加起来,再加上11月已过的天数。
for (i = 1; i < month; i++) {
sum += MonthDay[i];
}
sum += day;
//3.已过的月份是否>2,判断是否是闰年,如果是加一天
if (month > 2 && (year % 4 == 0 && year % 100 != 0 && year || 400 == 0)) {
cout << sum + 1 << endl;
}
else {
cout << sum;
}
}
}
思路:
第1步:用一个数组,存放着12个月的天数,数组要13个空间,下标为0的位置用零空出来,因为没有0月,
第2步:先把前面个月的加起来,再加上这个月已过的天数。
第3步:判断月数是不是超过二月,如果超过就要判断年份是不是属于润年。如果是就要天数+1

京公网安备 11010502036488号