Problem Y: 哪一天,哪一秒?
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: 哪一天,哪一秒?的更多相关文章
- Problem Y: 零起点学算法21——摄氏温度转换
#include<stdio.h> int main() { float f,c; while(scanf("%f",&f)!=EOF) c=*(f-); pr ...
- Big Water Problem
链接:https://www.nowcoder.com/acm/contest/77/B来源:牛客网 Big Water Problem 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ ...
- cs224d 作业 problem set2 (一) 用tensorflow纯手写实现sofmax 函数,线性判别分析,命名实体识别
Hi Dear Today we will use tensorflow to implement the softmax regression and linear classifier algor ...
- 软件测试面试(2)LR篇
一:LoadRunner常见问题整理 1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消掉 2.在系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的vugen. ...
- 进程管理三大扩展工具htop
三大进程管理监控工具 HTOP 介绍: Htop是一款运行于Linux系统监控与进程管理软件,htop提供所有进程的列表,并且使用彩色标识出处理器.swap和内存状态.用户一般可以在top无法提供详尽 ...
- Android自动化测试之Monkeyrunner学习笔记(一)
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...
- nba技能表
球员名 主动技能名 主动技能效果 拆解技能名 拆解技能效果 巅峰-纳什 跑投三分 全队三分出手概率提高X%,但体力消耗增加Y% 稳固进攻 全队进攻增加X%,持续整场比赛 巅峰-科比 肉搏 对方全体行动 ...
- 干货:结合Scikit-learn介绍几种常用的特征选择方法
原文 http://dataunion.org/14072.html 主题 特征选择 scikit-learn 作者: Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非 ...
- Arduino小车学习与研究
信安系统设计基础实践模块 Arduino小车学习与研究 ================== 陈都(20135328) 余佳源(20135321) 莫凡(20135225) ---------- 索引 ...
随机推荐
- 用 Heapster 监控集群
Heapster 是 Kubernetes 原生的集群监控方案.Heapster 以 Pod 的形式运行,它会自动发现集群节点.从节点上的 Kubelet 获取监控数据.Kubelet 则是从节点上的 ...
- SCUT - 336 - 酋雷姆 - 最小生成树
每个世界可以和别的世界连通,也可以直接联通虚拟的已经毁灭的世界,这样变成一个最小生成树问题. 但是好像哪里不对? 有人用dp过掉的? 不太清楚怎么搞的. 其实就是最小生成树-- #include< ...
- aimOffset注意事项
AimOffset的记录 AimOffset是什么,就是动画(相对于某个具体姿势比如待机动作的)叠加. AimOffset有什么用,简单说就是叠加动作,比如无双中骑马挥刀动作叠加. 注意步骤 1所有分 ...
- uoj#339. 【清华集训2017】小 Y 和二叉树(构造)
传送门 膜拜大米饼巨巨 构造思路太神仙了-- 先考虑这个序列的开头,肯定是一个度数小于等于\(2\)且标号最小的节点,设为\(u\) 如果一个点度数小于等于\(2\),我们称这个点可以被选择,一个点的 ...
- Java基础--环境配置、简介
一.环境配置 1.傻瓜式安装JDK,若提示安装JRE,将其置于JDK同一安装目录即可. 2.配置JAVA_HOME, 指向JDK的安装目录.比如 JAVA_HOME = %JDK安装目录% 3.配置 ...
- 剑指Offer的学习笔记(C#篇)-- 链表中倒数第K个点
题目描述 输入一个链表,输出该链表中倒数第k个结点. 一 . 数据结构基础概念普及(线性表). 线性表可分为顺序表与链表,它们是堆栈.队列.树.图等数据结构的实现基础. 顺序表,线性表的顺序存储结构是 ...
- jsp学习与提高(三)——JSP Cookie 处理
1.cookie是什么 Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持. 通常有三个步骤来识别回头客: 服务 ...
- Educational Codeforces Round 65 (Rated for Div. 2) C. News Distribution
链接:https://codeforces.com/contest/1167/problem/C 题意: In some social network, there are nn users comm ...
- WAMP3.1.10/Apache 设置站点根目录
网上的资料很多都不起作用了,都是说修改 WAMP\bin\apache\apache2.4.27\conf\httpd.conf 文件,但是修改了之后完全没有效果!! 最后,稀里糊涂的把 WAMP\b ...
- POJ 1015 Jury Compromise dp分组
第一次做dp分组的问题,百度的~~ http://poj.org/problem?id=1015 题目大意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑 ...