明天是几号?
程序员文章站
2022-06-21 14:51:11
...
简单粗暴直接!
明天是几号?
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
忙碌了一天的 bLue 累得瘫在床上,他想知道明天是几号,你能告诉他吗?
Input
输入数据有多组(数据组数不超过 50000),到 EOF 结束。
每组数据输入一行,包含用空格隔开的 3 个整数,表示今天的日期,分别为年、月、日。
保证输入日期的年份在 1900 到 2035 之间。
Output
对于每组数据,在一行中输出明天的日期,格式为 “y m d”,分别表示年、月、日。
Sample Input
2016 12 27
2016 2 29
Sample Output
2016 12 28
2016 3 1
Hint
能被 4 整除且非整百年的,或能被 400 整除的为闰年。
Source
【2016级《程序设计基础(B)I》期末上机考试-第一场】bLue`
#include <stdio.h>
#include <stdlib.h>
int main()
{
int y,m,d;
while(~scanf("%d %d %d",&y,&m,&d))
{
if((y%4==0&&y%100!=0)||(y%400==0))
{
if(m!=12&&m!=2)
{
if(m==1||m==3||m==5||m==7||m==8||m==10)
{
if(d<=30)printf("%d %d %d\n",y,m,d+1);
else if(d==31) printf("%d %d 1\n",y,m+1);
}
else if(m==4||m==6||m==9||m==11)
{
if(d<30)printf("%d %d %d\n",y,m,d+1);
else if(d==30) printf("%d %d 1\n",y,m+1);
}
}
else if(m==2)
{
if(d==29)
printf("%d 3 1\n",y);
else
printf("%d %d %d\n",y,m,d+1);
}
else if(m==12)
{
if(d==31)
printf("%d 1 1\n",y+1);
else
printf("%d %d %d\n",y,m,d+1);
}
}
else
{
if(m!=12&&m!=2)
{
if(m==1||m==3||m==5||m==7||m==8||m==10)
{
if(d<=30)printf("%d %d %d\n",y,m,d+1);
else if(d==31) printf("%d %d 1\n",y,m+1);
}
else if(m==4||m==6||m==9||m==11)
{
if(d<30)printf("%d %d %d\n",y,m,d+1);
else if(d==30) printf("%d %d 1\n",y,m+1);
}
}
else if(m==2)
{
if(d==28)
printf("%d 3 1\n",y);
else
printf("%d %d %d\n",y,m,d+1);
}
else if(m==12)
{
if(d==31)
printf("%d 1 1\n",y+1);
else
printf("%d %d %d\n",y,m,d+1);
}
}
}
return 0;
}
上一篇: Java 成长初学者记录篇,OOP 类 Day02
下一篇: 数据库配置文件