1 条题解
-
0梁力 (liangli) LV 8 @ 2023-12-30 20:59:17
#include <iostream> #include <cstdlib> using namespace std; //定义数组days, 第n项表示n月的天数 int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //判断闰年的函数 bool leap_year(int n){ return (n % 400 == 0 || (n % 4 == 0 && n % 100 != 0)); } int main(){ int y, m, d, d2, flag = 0; scanf("%d-%d-%d", &y, &m, &d); if(leap_year(y)){ days[2] = 29; //闰年的二月有29天,更新days数组 if(m == 2 && d == 28){ d2 = 29; //d2表示答案 flag = 1; } else if(m == 2 && d == 29){ m++; //二月29日的下一天要向月份进一 d2 = 1; //将天数重新设置为1 flag = 1; } } if(!flag){ //如果不是闰年二月 d2 = d; d2++; } if(m == 12 && d == 31){ //跨年 y++; printf("%d-1-1\n", y); return 0; } if(d == days[m]){ //小月或大月的跨月 m++; d2 = 1; } printf("%d-%02d-%02d\n", y, m, d2);//输出年月日,月和日不满两位用0补全 system("pause"); //冻结屏幕 return 0; //退出程序 }
- 1
信息
- ID
- 1183
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- 递交数
- 14
- 已通过
- 4
- 上传者