题解 | #打印日期#
打印日期
https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b
#include <iostream> using namespace std; //将闰年和平年的月份日期存在二维数组数组中 int days[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31} }; bool IsLeapYear(int year)//判断是不是闰年 { return (year%4==0&&year%100!=0)||(year%400==0); } int main() { int year,month,day; int number=0; while(scanf("%d%d",&year,&number)!=EOF) { month=0; int row=IsLeapYear(year);//返回值只可能是1或者是0 while(number>days[row][month]) { number-=days[row][month];//类减,直到这个天数小于这个月份数循环就结束了 month++;//减一次月份就进行加加的操作 } day=number;//出了循环那么这个天数就是一个合格的天数了 printf("%04d-%02d-%02d\n",year,month,day); } return 0; }