NYOJ 312 20岁生日
20岁生日
- 描述
-
路过这的20岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达20岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达20岁生日所经过的总天数,让他好来比较一下。
- 输入
- 一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。
-
输出
T行,每行一个数,表示此人从出生到20岁生日所经过的天数。如果这个人没有20岁生日,就输出-1。
样例输入
-
1 1988-03-07
- 样例输出
-
7305
解题思路:先算出从出生到出生这年结束一共经过了多少天,然后加上从出生第2年到出生第19年每年的天数,最后加上20岁生日那年要经过多少天才是他的生日。 注意:(1)、如果出生这年是闰年,而20年后不是闰年,输出-1;(2)、出生这天为出生的第0天
参考代码:
#include<stdio.h> int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int leapyear(int x) //判断闰年 {if((x%4==0&&x%100!=0)||x%400==0)return 1;return 0; } int count(int a,int b,int c) //判断一年中的第几天 {int s=0,i;if(a%4==0&&a%100!=0||a%400==0){for(i=1;i<b;i++)s+=m[i];if(b>2)return s+c+1; //注意闰年2月是29天else return s+c; }else{for(i=1;i<b;i++)s+=m[i];return s+c;} } int main() {int j,n,Y,M,D,sum,y,m,d;scanf("%d",&n);while(n--){scanf("%d-%d-%d",&Y,&M,&D);if(M==2&&D==29&&!leapyear(Y+20)){printf("-1\n");continue;}sum=0;if(leapyear(Y))sum+=366-count(Y,M,D);else sum+=365-count(Y,M,D);j=1;Y++;while(j<=20){if(leapyear(Y)&&j!=20)sum+=366;else if(!leapyear(Y)&&j!=20)sum+=365;else if(j==20)sum+=count(Y,M,D);Y++;j++;}printf("%d\n",sum); }return 0; }
NYOJ 312 20岁生日相关推荐
- 想和你一起为 Visual Studio 庆祝20岁生日
Visual Studio Live 倒计时开始-- 1997年1月28日,Visual Stuido 97正式推出,她将Visual Basic.Visual C++.Visual J++.Visu ...
- 实现时间的计算: 要求用户输入身份证号,若格式有误,要求其重新输入。然后根据身份证号码输出20岁生日所在周的周三的日期
实现时间的计算: 要求用户输入身份证号,若格式有误,要求其重新输入.然后根据身份证号码输出20岁生日所在周的周三的日期(个人笔记,大佬勿喷) package day03;import java.uti ...
- 今天朋友20岁生日,标记下
今天我的高中同学也是死党20岁生日,因为他前段时间开通了百度博客,所以我发现了他原来是90后,我一直以为他和我一样是89年的,悲剧哇 这个月初,他就通知我今天要过来吃饭,他生日请客,邀请我们这些好友聚 ...
- 2021.1.4--我的20岁生日感悟
今天是我20岁的生日,祝我自己生日快乐呀! 没想到期待已久的20岁生日就这么草率的结束了,没有蛋糕.很少的祝福,在学业的压力和焦虑中度过. 今年真的是极为不顺的一年,身体上的伤害导致了我严重的心理压力 ...
- nyoj312 20岁生日
我的方法:先计算他从出生的下一年开始到他20岁那年(只计算到生日那年,不是那月那天,比如1980-1-13,只计算1981.1.1-2000.1.1)共经历多少天,然后计算出生那年到下年的天数,再计算 ...
- 太炸了!SpaceX迎来20岁生日,马斯克收到一份特殊礼物
博雯 金磊 发自 凹非寺 量子位 | 公众号 QbitAI SpaceX 20周年生日这天,粉丝却送上了一份火箭爆炸合集作为礼物? SpaceX的20年历史就是决心和坚持的最好例子. 感谢你从未放弃, ...
- Windows XP迎来20岁生日,仍有上百万用户坚守
整理 | 祝涛 出品 | CSDN(ID:CSDNnews) 2001年10月25日,微软生产的操作系统Windows XP正式登陆零售商店,曾备受用户的喜爱.2009年微软结束了对WinXP的主流支 ...
- 20岁生日,写下的我
开始咯 岁月如梭,转眼已到弱冠之年,今天是我二十岁生日.过了今天,我就是一个二十岁的青年了,再也不会被人看做是小孩子,从18岁到20岁的日子,真的过得很快.还曾经在自己永远的十八岁里面.转眼间就翻过了 ...
- 腾讯20岁生日前夕,给了自己一个改变
经历了梦想和市值的双重责问后,20岁的腾讯步履不再一马平川,多了几分被做空流言所压迫的沉重.但很多唱衰者似乎也在有意忽略,这家半年盈利高达425亿元.同比增长30%的全球超级公司所积蓄的能量. 看似在 ...
最新文章
- 2019-06-07 Java学习日记之CSS
- Android的AutoCompleteTextView在API17高版本添加的setText函数在低版本系统居然能正常调用?官方文档是不是不靠谱了?...
- Redis的常用命令——hash的常用命令
- 今日定工资,不知是涨是跌,最迟明晚反馈
- Go语言中查询SqlServer数据库
- 找回丢失的端星网络客户端
- 12 组合与继承、CSS Module
- php发展历,PHP的发展历程
- 判4年!旷视科技司机敲诈董事长300万元未遂
- EntityFramework 如何查看执行的 SQL 代码?
- Haclon 一些关于显示的基本算子(1)
- 计算机组成与体系结构第一次试验:运算器实验
- 控制工程基础学习笔记-第1章 概述
- 财务部门如何用OKR管理法?看最新OKR模板
- 深入了解style标签元素
- mas机 mysql_移动MAS机开发相关
- 201621123030《Java程序设计》第3周学习总结
- 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的建筑高度为零)
- html显示json数据中某一条的数据,php - 给定一个具有json格式数据的API,我该如何在HTML表中显示数据? - 堆栈内存溢出...
- 梁启超死亡真相:主刀医生错把健康的肾切除
热门文章
- 【BZOJ 1877】 [SDOI2009]晨跑(费用流)
- 实例解说Linux命令行uniq (转)
- Html基础Part1:Htmla标签的几种跳转姿势
- Tricks with Direct Memory Access in Java
- 巧妙解决:access denied (javax.management.MBeanTrust...
- 深入浅出Node.js(八):Connect模块解析(之二)静态文件中间件
- python类库32[多进程同步Lock+Semaphore+Event]
- 命令2-Create Project Tree
- Hibernate+Spring整合使用二级缓存
- 国内企业应如何实施ITSM