
KY18 今年的第几天⭐️难度中等⭐️知识点模拟题目题目链接题解1自己做#define_CRT_SECURE_NO_WARNINGS#includestdio.h#includestring.husingnamespacestd;voidcount(intyear,intmonth,intday){intdayOfMonth[]{0,31,28,31,30,31,30,31,31,30,31,30,31};intisLeap;// 是否是闰年if(year%4000||(year%40year%100!0)){// 闰年二月29天dayOfMonth[2]29;}intsum0;// 记录第几天for(inti1;imonth;i){sumsumdayOfMonth[i];}sumsumday;printf(%d\n,sum);}intmain(){intyear0;intmonth0;intday0;while(scanf(%d%d%d,year,month,day)!EOF){count(year,month,day);}return0;}题解2利用NextDay函数#includestdio.husingnamespacestd;voidNextDay(intyear,intmonth,intday){// 出现在定义or形参当中 表示引用的意思 出现在其他位置表示取地址// 存储一下 月份和天数的对应关系intdayOfMonth[]{0,31,28,31,30,31,30,31,31,30,31,30,31};intisLeap;// 是否是闰年isLeapyear%4000||year%40year%100!0;if(isLeap){dayOfMonth[2]29;}else{dayOfMonth[2]28;}day;if(daydayOfMonth[month]){day1;month;}if(month12){month1;year;}//printf(NextDay year %d, month %d, day %d\n, year, month, day);}//int main() {// int year 1900;// int month 2;// int day 28;// NextDay(year, month, day);// printf(main year %d, month %d, day %d\n, year, month, day);// return 0;//}intmain(){intyear,month,day;while(scanf(%d%d%d,year,month,day)!EOF){intnext1;// NextDay执行的次数intcurmonth1;intcurday1;while(1){if(monthcurmonthdaycurday){break;}NextDay(year,curmonth,curday);next;}printf(%d\n,next);}return0;}