给出某个日期,判断这是当年的第几天,每年的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: 一年中的第几天相关推荐

  1. 【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]  ...

  2. 文本深度表示模型Word2Vec 简介 Word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简

    文本深度表示模型Word2Vec 简介 Word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为 ...

  3. 每日一题(27)—— define定义一个宏表明1年中有多少秒

    用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 分析: 1.#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)  2.懂得预处理器将为你计算常数 ...

  4. 用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

    #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL    我在这想看到几件事情:     #define 语法的基本知识(例如:不能以分号结束,括号的使用, ...

  5. linux显示某一日期是第几天,如果已经知道一年中的第几天,能够用linux中date显示出所对应日期吗?比如知道今天是这一年的第...

    匿名用户 1级 2016-04-27 回答 在实际操作中,一些脚本中会调用明天,或者昨天,或更多天前的日期,本文将叙述讲述用date 命令实现时间的显示.在Linux 系统中用man date -d ...

  6. oracle中怎么判断为周五,求一年中所有星期五的日期

    思路:首先求出一年中的第一天和最后一天,然后枚举出一年的日历,最后筛选出星期5的日期即可 -- 求出一年中的第一天和最后一天(这里是第二年的第一天,-1得到最后天)SQL> select tru ...

  7. define定义一个宏表明1年中有多少秒

    原文链接 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 分析: 1.#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)  2.懂得预处理器将为 ...

  8. 宾夕法尼亚大学计算机硕士录取在线读学位,恭喜L同学获得宾夕法尼亚大学电子工程专业硕士Offer...

    官网:http://www.doczj.com/doc/7c362ee41eb91a37f1115cf9.html 恭喜L同学获得宾夕法尼亚大学电子工程专业硕士Offer 申请背景:四川某大 基本成绩 ...

  9. 年中总结大会--总结学习笔记, 技术部IT部门年中总结报告该怎么写

    组织年中总结大会该如何组织 1. 通知每一位员工, 总结自己的半年工作(提前多少天, 截至日期) 2. 会场布置 3. 部门领导总结 4. 中场休息, 或节目表演, 合影等 5. 表彰 6. 交流(提 ...

最新文章

  1. 【Java Web开发指南】redis笔记
  2. ATG中的定时Job处理
  3. 浅析ASP.NET的Page.IsPostBack 属性
  4. html隐藏定位,html – 如何使绝对定位(溢出:隐藏)容器的绝对定位的子项显示在其父项区域之外?...
  5. 微信客户端<->腾讯微信服务器<->开发者服务器
  6. C语言实现tolower
  7. 【华为云技术分享】iSulad轻量化容器实践解析
  8. Linux用户、群组及权限
  9. MySQL并行复制的深入浅出
  10. java几次,java兑现限制用户几次登录
  11. 初级web前端面试题
  12. ADNI影像数据解析及下载
  13. 个人网站首页设计模板
  14. HNOI 2015 落忆枫音 题解
  15. word如何插入和删除脚注,尾注
  16. PHP输出JSON格式数据
  17. 全新角度了解百度地图
  18. #822. 徐老师球球世界(数学题)
  19. win10 kms激活
  20. 迅雷:要想下载速度快 请避免使用国外的公共DNS服务

热门文章

  1. Netty工作笔记0041---Netty入门--服务端2
  2. 搜索引擎学习笔记001---lucene简明介绍
  3. resnet18 结构
  4. 2014年5月30日
  5. 杭电1434 幸福列车
  6. android开发之添加按钮事件的方法
  7. MyEclipse中使用Proxool+mysql连接池的方法
  8. 随想录(lua源码学习)
  9. java 线程安全性_i++是线程安全的吗?如何解决线程安全性?
  10. oracle yum 本地源,Linux YUM本地源配置