题解 | 今年的第几天?
今年的第几天?
https://www.nowcoder.com/practice/ae7e58fe24b14d1386e13e7d70eaf04d
#include<stdio.h>
using namespace std;
void nextday(int& year, int& month, int& day) {
int dayofmonth[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
//先判断是否闰年,闰年的2月是29天
if ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0))dayofmonth[2] = 29;
//如果天数超出
if ((day + 1 )> dayofmonth[month]) {
//如果月份超出
if ((month+1) > 12) {
year++;
month = 1;
day = 1;
}
else {
month++;
day = 1;
}
}
else day++;
}
int main(){
int next=0;
int beginmonth=1;
int beginday=1;
int curyear,curmonth,curday;
scanf("%d %d %d",&curyear,&curmonth,&curday);
while(true){
nextday(curyear,beginmonth,beginday);
next++;
if(beginmonth==curmonth&&beginday==curday)break;
}
printf("%d",next+1);
}
计算机复试机试(王道版) 文章被收录于专栏
收录王道2026年计算机复试机试的(课程)代码题解,仅供个人学习参考


查看2道真题和解析