前言:
21考研,不论能否进复试记录一下准备路上写下的垃圾代码。本来啃《算法笔记》,但是感觉太多了做不完,改做王道机试指南。
题目描述:
编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。
输入描述
输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。
输出描述:
输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。
解答:
#include <stdio.h>
const int daytab[13] ={
0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int m;
scanf("%d", &m);
while (m--) {
int year, mon, day;
scanf("%d%d%d", &year, &mon, &day);
if (day == daytab[mon] && mon != 12)
{
day = 1;
mon++;
}
else if (day == daytab[mon] && mon == 12)
{
day = 1;
mon = 1;
year++;
}
else
day++;
printf("%04d-%02d-%02d\n", year, mon, day);
}
return 0;
}