题解 | #今年的第几天?#
今年的第几天?
https://www.nowcoder.com/practice/ae7e58fe24b14d1386e13e7d70eaf04d
注意!只有月份大于2 或 日期为2.29 时 需要判断是否是闰年
- 创建月份数组,保存每个月有多少天;
- 判断是否是闰年,如果是则run=1,否则run=0;
- 循环i,计算从1月~month-1月一共有多少天,再加上day和run的值,就是所求的值。
#include <iostream>
using namespace std;
int mon[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
int main() {
int year, month, day;
while (cin >> year >> month >> day) { // 注意 while 处理多个 case
//判断是否是闰年
int run = 0;
if (month > 2 || month == 2 && day == 29)
if (year % 4 == 0 && year % 100 != 0 || year %400 == 0)
run = 1;
for (int i = 0; i < month-1; i++){
day += mon[i];
}
cout << day+run << endl;
}
}
// 64 位输出请用 printf("%lld")
腾讯成长空间 1170人发布