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) ---------- 索引 ...
随机推荐
- echarts学习的一些笔记
工具栏组件 Show 是否显示 Feature 具体显示的功能 saveAslmage 保存图片 Restore 还原 dataZoom 缩放视图 magicType 动态类型切换 toltip组 ...
- Celery异步任务重复执行(Redis as broker)
之前讲到利用celery异步处理一些耗时或者耗资源的任务,但是近来分析数据的时候发现一个奇怪的现象,即是某些数据重复了,自然想到是异步任务重复执行了. 查阅之后发现,到如果一个任务太耗时,任务完成时间 ...
- java反射机制应用之动态代理
1.静态代理类和动态代理类区别 静态代理:要求被代理类和代理类同时实现相应的一套接口:通过代理类的对象调用重写接口的方法时,实际上执行的是被代理类的同样的 方法的调用. 动态代理:在程序运行时,根据被 ...
- Programming Ruby 阅读笔记
在Ruby中,通过调用构造函数(constructor)来创建对象 song1=Song.new("Ruby") Ruby对单引号串处理的很少,除了极少的一些例外,键入到字符串字面 ...
- SequoiaDB培训视频
很久之前录制的SequoiaDB培训视频,现在都放上百度云盘了,感兴趣的同学可以看看. 第一讲:图形界面-安装前准备 链接: https://pan.baidu.com/s/1d2B3qUYqtKrE ...
- 你必须学写 Python 装饰器的五个理由
你必须学写Python装饰器的五个理由 ----装饰器能对你所写的代码产生极大的正面作用 作者:Aaron Maxwell,2016年5月5日 Python装饰器是很容易使用的.任何一个会写Pytho ...
- 黑马学习SpringMVC bug集锦X1
- jsp内置对象作用域白话演示
内置对象就是JSP中不需要自己定义和声明的对象,可以在JSP中直接使用.JSP中有9大内置对象,它们有两个常用的方法:setAttribute("key","value& ...
- hdu1494 跑跑卡丁车(动态规划)
Description 跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣.这款游戏的特别之处是你可以通过漂移来获得一种 加速卡,用这种加速卡可以在有限的时间里提高你的速度. ...
- 解决git从remote clone后所有文件都改变的问题
遇到2次这种情况了,git从remote clone项目代码后发现所有文件都要改变,因为权限改变了,可以通过git来设置忽略权限变化 git config --global core.fileMode ...