程序设计进阶 编程题#4:Tomrrow never knows?
来源:互联网 发布:手机玩lol软件 编辑:程序博客网 时间:2024/04/30 10:03
描述
甲壳虫的《A day in the life》和《Tomorrow never knows》脍炙人口,如果告诉你a day in the life,真的会是tomorrow never knows?相信学了计概之后这个不会是难题,现在就来实现吧。
读入一个格式为yyyy-mm-dd的日期(即年-月-日),输出这个日期下一天的日期。可以假定输入的日期不早于1600-01-01,也不晚于2999-12-30。
输入
输入仅一行,格式为yyyy-mm-dd的日期。
输出
输出也仅一行,格式为yyyy-mm-dd的日期
样例输入
2010-07-05
样例输出
2010-07-06
提示
闰年的标准:
(1)普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1901年不是闰年)
甲壳虫的《A day in the life》和《Tomorrow never knows》脍炙人口,如果告诉你a day in the life,真的会是tomorrow never knows?相信学了计概之后这个不会是难题,现在就来实现吧。
读入一个格式为yyyy-mm-dd的日期(即年-月-日),输出这个日期下一天的日期。可以假定输入的日期不早于1600-01-01,也不晚于2999-12-30。
输入
输入仅一行,格式为yyyy-mm-dd的日期。
输出
输出也仅一行,格式为yyyy-mm-dd的日期
样例输入
2010-07-05
样例输出
2010-07-06
提示
闰年的标准:
(1)普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1901年不是闰年)
(2)世纪年能被400整除的是闰年。(如2000年是闰年,1100年不是闰年)
分析:
此题中需要注意如下几个要点:
- 月份的切换。若日不是该月最后一天,日直接加一即可;否则需要将月份加一,日重新设为一。
- 年份的切换。若日为该年的最后一天,则需要将日、月都重新设为一,而年份加一。
- 另外要注意闰年问题,即闰年的二月29天,而非闰年的二月28天。
代码如下:
#include<stdio.h>int f(int year,int month,int day){ if(month==1||month==3||month==5||month==7||month==8||month==10) { if(day<31) day+=1; else { month+=1; day=1; } } else if(month==4||month==6||month==9||month==11) { if(day<30) day+=1; else { month+=1; day=1; } } else if(month==2) { if(((year%4==0)&&(year%100!=0))||((year%100==0)&&(year%400==0))) { if(day<29) day+=1; else { month+=1; day=1; } } else { if(day<28) day+=1; else { month+=1; day=1; } } } else { if(day<31) day+=1; else { year+=1; month=1; day=1; } } printf("明天的日期为\n"); printf("%d %d %d",year,month,day); return 0;}int main(){ int year,month,day; printf("请分别输入年月日\n"); scanf("%d%d%d",&year,&month,&day); f(year,month,day); return 0;}
0 0
- 程序设计进阶 编程题#4:Tomrrow never knows?
- 编程题#4:Tomorrow never knows?
- Tomorrow never knows?(C程序设计进阶第2周)
- Tomorrow never knows? (C程序设计进阶 第2周)
- 编程题#4:Tomorrow never knows? C语言
- Tomorrow never knows?
- 程序设计进阶 编程题#1:寻找下标
- 程序设计进阶 编程题#2:四大湖
- 程序设计进阶 编程题#6:流感传染
- 程序设计进阶 编程题#3:发票统计
- 【NOI OJ】18 Tomorrow never knows?(未知的明天)
- 程序设计进阶 编程题#5:细菌分组实验
- [程序猿初养成]Coursera-C程序设计进阶-第二周作业-编程题#4
- [程序猿初养成]Coursera-C程序设计进阶-第二周作业-编程题#1
- [程序猿初养成]Coursera-C程序设计进阶-第二周作业-编程题#2
- [程序猿初养成]Coursera-C程序设计进阶-第二周作业-编程题#3
- [程序猿初养成]Coursera-C程序设计进阶-第二周作业-编程题#5
- [程序猿初养成]Coursera-C程序设计进阶-第二周作业-编程题#6
- Fiddler使用
- 开始博客之路
- 六种方式实现hibernate查询
- ViewTreeObserver
- RAC中Multicast的实现原理分析
- 程序设计进阶 编程题#4:Tomrrow never knows?
- spoj D-query 区间不同数个数 主席树||离线+树状数组
- 一个案例教你简单地玩转ViewPager(二)之ViewPaper+TabLayout+Fragment顶部标签界面滑动
- 我的感想
- 【op】tomcat部署服务器步骤
- Python 中的 None 与真假
- Eclipse下修改Android里的apk包名
- 斯坦福机器学习笔记-Lecture 1,2
- [完]Linux CentOS IP配置