题解 | 今年的第几天?
今年的第几天?
https://www.nowcoder.com/practice/ae7e58fe24b14d1386e13e7d70eaf04d
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
using namespace std;
void Nextday(int& year, int& month1, int& day1) {
int arr[]{ 0,31,28,31,30,31,30,31,31,30,31,30,31 };
bool isLeap=false;
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) { isLeap = true; }
if (isLeap) { arr[2] = 29; }
++day1;
if (day1 > arr[month1]) {
day1 = 1;
++month1;
}
}
int main() {
int year, month, day;
while (scanf("%d%d%d", &year, &month, &day) != EOF) {
int count = 1;
int month1 = 1;
int day1 = 1;
while (true) {
if (month1 != month || day1 != day) {
Nextday(year, month1, day1);
++count;
}
else {
break;
}
}
printf("%d\n", count);
}
return 0;
}
#pieceofshit#