问题 L: 一年中的第几天
给出某个日期,判断这是当年的第几天,每年的1月1日是第1天,非闰年年份的12月31日是第365天。
输入
输入的第一个数为n,后接n个日期。日期用3个正整数按顺序表示年月日,中间用“-”连接。
输出
若输入的日期为错误,则输出“error date!”;否则输出这个日期是本年的第几天。每个日期对应一行输出。
样例输入
9
2010-01-01
2010-06-22
2010-12-31
2011-02-29
2011-07-18
2011-12-02
2012-02-29
2012-09-31
2012-12-31
样例输出
1
173
365
error date!
199
336
60
error date!
366
代码如下:
#include<stdio.h>
int run(int year)
{if(year%4==0) {if(year%100==0){if(year%400==0){return 1;}else{return 0;}}else{return 1;}}else{return 0; }
}
int judge(int y,int m,int d)
{int flag = 1;if(m==4||m==6||m==9||m==11){if(d>30){flag = 0;}}else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){if(d>31){flag = 0;}}else{if(run(y)){if(d>29){flag = 0;}}else{if(d>28){flag = 0;}}}return flag;
}
int main()
{int n;scanf("%d",&n);int y,m,d;int dn;int sum;for(int i=0;i<n;i++){scanf("%d-%d-%d",&y,&m,&d);if(m>=1&&m<=12){//确保月份在1-12月 if(judge(y,m,d)){sum = d;for(int j =1;j<m;j++){if(j==1||j==3||j==5||j==7||j==8||j==10||j==12){dn = 31;}else if(j==4||j==6||j==9||j==11){dn = 30;}else if(j==2){if(run(y)){dn = 29;}else{dn = 28;}}sum += dn;}printf("%d\n",sum);}else{printf("error date!\n");}}else{printf("error date!\n");}}return 0;
}
问题 L: 一年中的第几天相关推荐
- 【English Email】CIP payouts now in Workday
simplification简化的[ˌsɪmplɪfɪˈkeɪʃn] quota配额[ˈkwoʊtə] regional区域的[ˈriːdʒənl] mechanics技工[məˈkænɪks] ...
- 文本深度表示模型Word2Vec 简介 Word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简
文本深度表示模型Word2Vec 简介 Word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为 ...
- 每日一题(27)—— define定义一个宏表明1年中有多少秒
用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 分析: 1.#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2.懂得预处理器将为你计算常数 ...
- 用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: #define 语法的基本知识(例如:不能以分号结束,括号的使用, ...
- linux显示某一日期是第几天,如果已经知道一年中的第几天,能够用linux中date显示出所对应日期吗?比如知道今天是这一年的第...
匿名用户 1级 2016-04-27 回答 在实际操作中,一些脚本中会调用明天,或者昨天,或更多天前的日期,本文将叙述讲述用date 命令实现时间的显示.在Linux 系统中用man date -d ...
- oracle中怎么判断为周五,求一年中所有星期五的日期
思路:首先求出一年中的第一天和最后一天,然后枚举出一年的日历,最后筛选出星期5的日期即可 -- 求出一年中的第一天和最后一天(这里是第二年的第一天,-1得到最后天)SQL> select tru ...
- define定义一个宏表明1年中有多少秒
原文链接 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 分析: 1.#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2.懂得预处理器将为 ...
- 宾夕法尼亚大学计算机硕士录取在线读学位,恭喜L同学获得宾夕法尼亚大学电子工程专业硕士Offer...
官网:http://www.doczj.com/doc/7c362ee41eb91a37f1115cf9.html 恭喜L同学获得宾夕法尼亚大学电子工程专业硕士Offer 申请背景:四川某大 基本成绩 ...
- 年中总结大会--总结学习笔记, 技术部IT部门年中总结报告该怎么写
组织年中总结大会该如何组织 1. 通知每一位员工, 总结自己的半年工作(提前多少天, 截至日期) 2. 会场布置 3. 部门领导总结 4. 中场休息, 或节目表演, 合影等 5. 表彰 6. 交流(提 ...
最新文章
- 【Java Web开发指南】redis笔记
- ATG中的定时Job处理
- 浅析ASP.NET的Page.IsPostBack 属性
- html隐藏定位,html – 如何使绝对定位(溢出:隐藏)容器的绝对定位的子项显示在其父项区域之外?...
- 微信客户端<->腾讯微信服务器<->开发者服务器
- C语言实现tolower
- 【华为云技术分享】iSulad轻量化容器实践解析
- Linux用户、群组及权限
- MySQL并行复制的深入浅出
- java几次,java兑现限制用户几次登录
- 初级web前端面试题
- ADNI影像数据解析及下载
- 个人网站首页设计模板
- HNOI 2015 落忆枫音 题解
- word如何插入和删除脚注,尾注
- PHP输出JSON格式数据
- 全新角度了解百度地图
- #822. 徐老师球球世界(数学题)
- win10 kms激活
- 迅雷:要想下载速度快 请避免使用国外的公共DNS服务