输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。
输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。
2 1999 10 20 2001 1 31
1999-10-21 2001-02-01
注意个位数日期前面要有0。
#include <stdio.h>
#include <stdbool.h>
void nextDay(int year,int month,int day){
int dayOfMonth[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool isLeap = (year%400 == 0) || (year%4 ==0 && year%100 != 0);
if(isLeap) dayOfMonth[2] = 29;
day++;
if(day > dayOfMonth[month]){
day = 1;
month++;
}
if(month > 12){
month = 1;
year++;
}
printf("%04d-%02d-%02d\n",year,month,day);
}
int main(void){
int n;
scanf("%d",&n);
int year,month,day;
for(int i = 0; i < n; ++i){
scanf("%d%d%d",&year,&month,&day);
nextDay(year,month,day);
}
return 0;
} #include <stdio.h>
#include <stdbool.h>
int dateTab[2][12] = {
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
int main() {
int m;
scanf("%d", &m);
int year, month, day;
while (m--) {
scanf("%d %d %d", &year, &month, &day);
if (day + 1 <= dateTab[0][month - 1]) {
printf("%4d-%02d-%02d\n", year, month, day + 1);
} else if (month == 12 && day + 1 > dateTab[0][month - 1]) {
printf("%4d-%02d-%02d\n", year + 1, 1, 1);
} else if (month != 12 && day + 1 > dateTab[0][month - 1]) {
printf("%4d-%02d-%02d\n", year, month + 1, 1);
}
}
return 0;
} #include <stdio.h>
int daytab[13]=
{0,31,28,31,30,31,30,31,31,30,31,30,31};
int main() {
int year, month,day;
int number;
scanf("%d",&number);
while (number--) {
scanf("%d %d %d", &year, &month,&day);
day += 1;
if (day>daytab[month]) {
month += 1;
day=1;
if (month>12) {
year += 1;
month = 1;
day = 1;
}
}
printf("%04d-%02d-%02d\n",year,month,day);
}
return 0;
} #include <stdio.h>
int months[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 ,31};
int main()
{
int n;
int y, m, d;
scanf("%d", &n);
while (n--)
{
scanf("%d %d %d", &y, &m, &d);
d++;
if (d > months[m])
{
d = 1;
m++;
if (m > 12)
{
y++;
m = 1;
d = 1;
}
}
printf("%04d-%02d-%02d\n", y, m, d);
}
return 0;
} #include <stdio.h>
#include <stdlib.h>
int main(){
int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int num,year,month,day;
scanf("%d\n",&num);
for(int i=0;i<num;i++){
while(scanf("%d%d%d",&year,&month,&day)!=EOF){
if(month==12&&day==31){
month=1;
day=1;
printf("%04d-%02d-%02d\n",year+1,month,day);
}
if(day==days[month]){
day=1;
printf("%04d-%02d-%02d\n",year,month+1,day);
}else{
printf("%04d-%02d-%02d\n",year,month,day+1);
}
}
}
return 0;
}