题解 | 今年的第几天?
今年的第几天?
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#