Problem Y: 哪一天,哪一秒?

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 337  Solved: 196
[Submit][Status][Web Board]

Description

  小王特爱数字。期末复习各门功课烧脑厉害,他想换换脑筋,就想算算数。他想任意给出一个时间(年月日时分秒),得出是一年当中的第几天,还有,这是一年中的第几秒。
下面的程序,定义了一个结构体以及部分程序,可以对n个时间做如上的操作,请按给出程序限制的形式,定义出其他必须的函数并提交。

Input

整数n,代表处理几个日期值
n行日期值,每行的整数分别代表年、月、日、时、分、秒,测试数据保证都是合法时间取值,即不会出类似2月30号的输入

Output

n行输出,每行对应给出的时间是当年第几天,以及是当年第几秒

Sample Input

3
1971 1 8 14 25 48
2011 2 27 1 27 35
2012 11 2 11 23 1

Sample Output

8 743148
58 5016455
307 26565781
#include <stdio.h>

 struct Time

 {

     int year;

     int month;

     int day;

     int hour;

     int minute;

     int second;

 };

 void getTime(struct Time *pt);

 int dayOfYear(struct Time t);

 long secondOfyear(struct Time *pt);

 int main()

 {

     struct Time t;

     int i,n;

     scanf("%d",&n);

     for(i=0;i<n;i++)

     {

         getTime(&t);

         printf("%d %ld\n",dayOfYear(t),secondOfyear(&t));

     }

     return 0;
}
int dayOfYear(struct Time t)
{
int i;
int r=0;
r=t.day;
if((t.year%4==0&&t.year%100!=0)||(t.year%400==0)&&(t.month>=2))
{
r=r+1;
}
for(i=1;i<=t.month;i++)
{
if(i==2)
r+=31;
if(i==3)
r+=28;
if(i==4)
r+=31;
if(i==5)
r+=30;
if(i==6)
r+=31;
if(i==7)
r+=30;
if(i==8)
r+=31;
if(i==9)
r+=31;
if(i==10)
r+=30;
if(i==11)
r+=31;
if(i==12)
r+=30;
}
return r;
}
long secondOfyear(struct Time *pt)
{
int n;
n=dayOfYear(*pt)*3600*24+(*pt).hour*3600+(*pt).minute*60+(*pt).second;
return n;
}
void getTime(struct Time *pt) { scanf("%d%d%d%d%d%d", &pt->year, &pt->month, &pt->day, &pt->hour, &pt->minute, &pt->second); return; }

  

 

Problem Y: 哪一天,哪一秒?的更多相关文章

  1. Problem Y: 零起点学算法21——摄氏温度转换

    #include<stdio.h> int main() { float f,c; while(scanf("%f",&f)!=EOF) c=*(f-); pr ...

  2. Big Water Problem

    链接:https://www.nowcoder.com/acm/contest/77/B来源:牛客网 Big Water Problem 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ ...

  3. cs224d 作业 problem set2 (一) 用tensorflow纯手写实现sofmax 函数,线性判别分析,命名实体识别

    Hi Dear Today we will use tensorflow to implement the softmax regression and linear classifier algor ...

  4. 软件测试面试(2)LR篇

    一:LoadRunner常见问题整理 1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消掉 2.在系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的vugen. ...

  5. 进程管理三大扩展工具htop

    三大进程管理监控工具 HTOP 介绍: Htop是一款运行于Linux系统监控与进程管理软件,htop提供所有进程的列表,并且使用彩色标识出处理器.swap和内存状态.用户一般可以在top无法提供详尽 ...

  6. Android自动化测试之Monkeyrunner学习笔记(一)

    Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...

  7. nba技能表

    球员名 主动技能名 主动技能效果 拆解技能名 拆解技能效果 巅峰-纳什 跑投三分 全队三分出手概率提高X%,但体力消耗增加Y% 稳固进攻 全队进攻增加X%,持续整场比赛 巅峰-科比 肉搏 对方全体行动 ...

  8. 干货:结合Scikit-learn介绍几种常用的特征选择方法

    原文  http://dataunion.org/14072.html 主题 特征选择 scikit-learn 作者: Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非 ...

  9. Arduino小车学习与研究

    信安系统设计基础实践模块 Arduino小车学习与研究 ================== 陈都(20135328) 余佳源(20135321) 莫凡(20135225) ---------- 索引 ...

随机推荐

  1. HDU - 5492 Find a path(方差公式+dp)

    Find a path Frog fell into a maze. This maze is a rectangle containing NN rows and MM columns. Each ...

  2. Java中的Synchronized关键字用法

    认识synchronized 对于写多线程程序的人来说,经常碰到的就是并发问题,对于容易出现并发问题的地方加上synchronized修饰符基本上就搞定 了,如果说不考虑性能问题的话,这一招绝对能应对 ...

  3. gridview把textbox的值修改还是旧值的解决方法

    解决方法很简单,加上if(!IsPostBack) 就OK了,因为之前加载之前都会调用InitData(). protected void Page_Load(object sender, Event ...

  4. 洛谷P2134 百日旅行

    P2134 百日旅行 题目背景 重要的不是去哪里,而是和你在一起.——小红 对小明和小红来说,2014年7月29日是一个美好的日子.这一天是他们相识100天的纪念日. (小明:小红,感谢你2场大考时默 ...

  5. IT兄弟连 JavaWeb教程 使用Servlet实现在页面中显示随机数

    在com.xdl.servlet包下定义RandomServlet类并HttpServlet类,在该类中生成随机数并发送给客户端.RandomServlet类详细代码如下: package com.x ...

  6. 聊聊 Laravel 5.5 的 「自动发现」

    ThinkSNS是什么? ThinkSNS(简称TS),一款全平台综合性社交系统,目前最新版本为ThinkSNS+.ThinkSNS V4 ThinkSNS[简]. 看了Taylor Otwell发表 ...

  7. layui时间控件联动:开始时间、结束时间,有效时间范围

    实际开发中,经常遇到时间控件联动的情况,然后每次都网上搜代码Copy,不过每次都有点小Bug让你错不及防: 这次,在这里备份一下,以后Copy自己的得了(欢迎Copy代码,若遇到问题,请麻烦回复我一下 ...

  8. Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!

    有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能.查看最流行的扩展机制,比较性能并分析哪一个是最好的. 这是乐队之战,JMeter风格. Beanshell V. JSR223 V ...

  9. 无线网路由器的dBm值

    首先,我们需要知道的是无线信号 dbm都是负数,最大是0:dbm值只在一种情况下为0,那就是在理想状态下经过实验测量的结果,一般我们认为 dbm为0是其最大值,意味着接收方把发射方发射的所有无线信号都 ...

  10. TDH-常见运维指令

    1.查看cpu: cat /proc/cpuinfo | grep processor2.查看磁盘:df -h (查看磁盘使用率) df -i (查看iNode使用) fdisk -l (查看磁盘整体 ...