[ACM]某一天的n天后是几年几月几日

编程入门 行业动态 更新时间:2024-10-25 15:28:53

[ACM]某一天的n天后是<a href=https://www.elefans.com/category/jswz/34/1767918.html style=几年几月几日"/>

[ACM]某一天的n天后是几年几月几日

Description

     小Q,2012年9月10日步入大学。刚刚步入大学的小Q,依旧怀念着以前的生活,所以他每天都会计算现在离刚刚开学过

去了多少天。可是某一天,突发奇想,想问你,给你n天,让你计算2012年9月10日后的n天是几年几月几日,比如 n=10,则 日期是2012年9月20日。这里你要注意可能会出现闰年的情况

Input

 第一行一个整数T,表示有T组数据。

每组数据输入一个n(n<=10000)

Output

每行输出,n天后的几年几月几日,年月日用/分开,细节看样例输出

Sample Input

3
1
10
20

Sample Output

2012/9/11
2012/9/20
2012/9/30
 
解题思路:
刚看到这题感觉完了,肯定做不出来,因为感觉很复杂。不过后来理清思路,把所有情况都考虑到,还是做出来了,心理状态很重要啊。天数一天天的加,月末月份加一,日数为1,年末年份加1,月份为1,考虑不同月份的天数,考虑是否为闰年。
 
代码:
 
#include <iostream>
using namespace std;
int main()
{int T;int i;cin>>T;for(i=1;i<=T;i++){int year,month,day;year=2012;month=9;day=10;//初始化int days;cin>>days;int j;for(j=1;j<=days;j++){day=day+1;//天数一天天的加if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){if(day==32){month=month+1;day=1;}if(month==13){year=year+1;//进位month=1;//月初}}if(month==2)//特殊的月份{if(((year%4==0&&year%100!=0)||year%400==0))//判断是否为闰年{if(day==30){day=1;month=month+1;}}else{if(day==29){day=1;month=month+1;}}}if(month==4||month==6||month==9||month==11){if(day==31){month=month+1;day=1;}if(month==13){year=year+1;month=1;}}}cout<<year<<"/"<<month<<"/"<<day<<endl;}return 0;
}


运行截图:
 
 
          

更多推荐

[ACM]某一天的n天后是几年几月几日

本文发布于:2024-03-23 21:43:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1743180.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:几年   几日   天后   几月   ACM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!