开始的时候,没有理解题意,没有想到两种日历的方式同一天的时间是一样的,分析如下

代码为:

#include <stdio.h>
#include <stdlib.h>
//判断年是不是闰年
int isRunYear(int year)
{
if((year%4==0&&year%100!=0)||year%400==0)
return 1;
else
return 0;
}
int main()
{
int hour,minute,second,day,month,year;
int mhour,mmin,msec,mday,mmonth,myear;
int dayofmonth[13]={0,31,28,31,30,31,30,31,31,30,31,30};
int n;
scanf("%d",&n);
while(n--){
scanf("%d:%d:%d %d.%d.%d",&hour,&minute,&second,&day,&month,&year);
if(year<2000||year>50000)
return 1;
int s=0;
int days=0;
days=days+(year-2000)*365;
if(isRunYear(year)==1)
dayofmonth[2]=29;
while(year>=2000)
{
int x=year-1;
if(isRunYear(x)==1)
days+=1;
year--;
}
int i;
for(i=0;i<month;i++){
days+=dayofmonth[i];
}
days+=day-1;
myear=days/1000;
days=days%1000;
mmonth=days/100+1;
mday=days%100+1;
s=(hour*3600+minute*60+second)*125/108;
mhour=s/10000;
s-=mhour*10000;
mmin=s/100;
msec=s-mmin*100;
printf("%d:%d:%d %d.%d.%d\n",mhour,mmin,msec,mday,mmonth,myear);
}
return 0;
}

不知道为什么,提交后是wrong answer,今天做了两道题,不能把自己弄得太吃力,就这样吧,以后有机会再弄

============================================================================================================

第二天早上:

是自己月份处理出现了问题。。所以遇到wrong answer的时候,耐心一些,慢慢解决问题

下面附上新的code

错的原因见注释

#include <stdio.h>
#include <stdlib.h>
//判断年是不是闰年
int isRunYear(int year)
{
if((year%4==0&&year%100!=0)||year%400==0)
return 1;
else
return 0;
}
int main()
{
int hour,minute,second,day,month,year;
int mhour,mmin,msec,mday,mmonth,myear;
//通过二维数组的方式存储月的情况,主要是闰年的2月和平年的2月
int dayofmonth[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30},{0,31,29,31,30,31,30,31,31,30,31,30}};
int n;
scanf("%d",&n);
while(n--){
scanf("%d:%d:%d %d.%d.%d",&hour,&minute,&second,&day,&month,&year);
if(year<2000||year>50000)
return 1;
int s=0;
int days=0;
days=days+(year-2000)*365;
//  if(isRunYear(year)==1)这种方法是错误的,如果输入的这一年是闰年,则将月改了后,月都变成了29,没有了28
//dayofmonth[2]=29;
int yy;
yy=year;
while(year>=2000)
{
int x=year-1;
if(isRunYear(x)==1)
days+=1;
year--;
}
int i;
for(i=0;i<month;i++){
days+=dayofmonth[isRunYear(yy)][i];
}
days+=day-1;
myear=days/1000;
days=days%1000;
mmonth=days/100+1;
mday=days%100+1;
s=(hour*3600+minute*60+second)*125/108;
mhour=s/10000;
s-=mhour*10000;
mmin=s/100;
msec=s-mmin*100;
printf("%d:%d:%d %d.%d.%d\n",mhour,mmin,msec,mday,mmonth,myear);
}
return 0;
}

百炼2967:特殊日历计算相关推荐

  1. OpenJudge百炼-2967-特殊日历计算-C语言-日期处理

    描述: 有一种特殊的日历法,它的一天和我们现在用的日历法的一天是一样长的.它每天有10个小时,每个小时有100分钟,每分钟有100秒.10天算一周,10周算一个月,10个月算一年.现在要你编写一个程序 ...

  2. OpenJudge NOI 1.13 08:特殊日历计算

    [题目链接] OpenJudge NOI 1.13 08:特殊日历计算 [题目考点] 1- 取模运算 [解题思路] 我们用的是现实日历,题目中设定的是特殊日历,两种历法的一天是一样长的.也就是说两种历 ...

  3. 169_技巧_Power BI 依据促销日历计算销售金额

    169_技巧_Power BI 依据促销日历计算销售金额 一.背景 在各位表格表姐们计算销售金额的时候,有一个绕不开的问题:商品有促销的问题,需要使用对应的促销价来计算销售额. 按照惯例还是先来看看结 ...

  4. java 日历计算农历和节假日的常用类(包括除夕的算法)

    最近在写日历,发现很多开源的常用的日历根本不能显示出除夕这个节日,所以在github上找到一个计算出大部分农历之后修改了一下,这里科普下,除夕有可能是29,也有可能是30,中国农历一个月只有29天或者 ...

  5. java 日历计算农历和节假日的常用类

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import ja ...

  6. 日历计算(C++类实现)

    type1:实现某年某月某日往前或往后N天后日历的输出. type2:实现两个日期之间相差天数的计算. #include <iostream> using namespace std;in ...

  7. NOIOpenjudge 1.13--08特殊日历计算

    Description 有一种特殊的日历法,它的一天和我们现在用的日历法的一天是一样长的.它每天有10个小时,每个小时有100分钟,每分钟有100秒.10天算一周,10周算一个月,10个月算一年.现在 ...

  8. 格里高利历java_在Java、Javascript、Python中有没有好的框架可以将日历计算从格里高利历转换为希伯来日历?...

    刚才,我在我的库Time4J中发布了另一个希伯来日历的实现.从公历日期到Hebrew date(作为对象或格式化字符串)的转换示例:PlainDate gregorian = PlainDate.no ...

  9. java 日历计算农历和节假日的工具类

    背景 业务需求需要后端提供这样的接口,网上找了很多java代码例子,虽然功能实现了 但是不完善,特别是节日那一块儿.然后百度发现有这样的插件,但是信息也是java后端提供的非js 然后在开源js插件找 ...

最新文章

  1. python 找质数的个数_盘一盘 Python 系列特别篇 All 和 Any
  2. 批命令 set /a与set /p有哪些区别
  3. Linux-DNS服务器的配置与管理(上)
  4. fatfs文件系统支持中文长文件名
  5. redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作
  6. ASP.NET WebAPI 自定义ControllerSelector
  7. poj2778DNA Sequence (AC自动机+矩阵快速幂)
  8. Mybatis源码本地化构建Demo
  9. oracle 11gr2 rac价格,调整Oracle 11gR2 RAC为单实例库
  10. 3dmax模型导入UE4
  11. 室友转行软件测试,月薪1.4万,天天摸鱼没事干
  12. 万字长文讲述我是怎样保送清华的 | 寒门学子奋斗史(四)
  13. 计算机win10无法打开小键盘,win10系统下小键盘数字键不能用怎么办_win10电脑小键盘数字键不能用如何解决...
  14. 自主上传图片投票工具、上传图片投票小程序、上传图片投票平台
  15. 蓝牙耳机连接笔记本后,音乐会断断续续,卡顿。
  16. DGL dist sampling OP
  17. 文件管理器和FTP客户端:ForkLift for Mac
  18. 剑指OFFER 03-11
  19. 浏览器手动设置Cookie
  20. 家中联通光纤宽带200MB,测试速度才92.87mbps,需要换个猫吗?

热门文章

  1. Servlet简单分页
  2. 预测2020年天猫双十一销量 线性回归
  3. 微信硬件平台的基础接入和硬件云标准接入分析
  4. 安装Skype for business on Linux
  5. 下载生成af-only-gnomad.hg19.vcf.gz文件
  6. Django问题:TypeError: unsupported operand type(s) for -: ‘str‘ and ‘float‘
  7. 我的运维开发生涯-网络设备指标告警实现
  8. 【C#进阶系列】【MEF框架(一)】
  9. Java自学入门新的体会0.2
  10. 为什么说Tcl是最好的语言?