C语言二月天数计算,关于计算两个日期间天数的代码,大家来看看

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是原贴:

http://post.baidu.com/f?kz=100411727

这是原码:

#include "stdio.h"

main()

{

long int i,a[2],b[2],c[2],x[12]={0,31,59,90,120,151,181,212,243,273,304,334},y,z[2];

scanf("%ld-%ld-%ld %ld-%ld-%ld",&a[0],&b[0],&c[0],&a[1],&b[1],&c[1]);

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

{ if((a[i]%4==0&&a[i]%100!=0||a[i]%400==0)&&b[i]<3) y=a[i]/4-a[i]/100+a[i]/400+a[i]*365-1;

else y=y=a[i]/4-a[i]/100+a[i]/400+a[i]*365;

z[i]=x[b[i]-1]+y+c[i]; }

printf("There are %ld days between %ld-%ld-%ld and %ld-%ld-%ld.\n",z[1]-z[0],a[0],b[0],c[0],a[1],b[1],c[1]);

}

本来感觉y=a[i]/4 - a[i]/100 + a[i]/400这段代码太难了看不下去了

最后还是在贴吧看到一个计算星期的帖子才懂了,那文章太经典了

大家可以看看http://post.baidu.com/f?kz=8329211

我今天看了很久才明白

(1/4) - (1/00) + (1/400)

= 0.25 - 0.01 + 0.0025

= 0.2425

这是计算年份为1就多出含小数的天数

接近 365.2423 的小数部分

当然不能%100精确

if( ( a[i] % 4==0 && a[i] % 100!=0 || a[i] % 400==0 ) && b[i]<3 )

y=a[i]/4 - a[i]/100 + a[i]/400 + a[i]*365-1;

else y=a[i]/4 - a[i]/100 + a[i]/400 + a[i]*365;

这里好像弄反了,上面的if是判断"是闰年但是月份为1或者2"

然后它后面又-1了

然后下面的else没有-1

我觉得上面的&& b[i]<3应该改成&& b[i]>3

然后第一个赋值语句不-1

下面else后面的赋值语句才应该-1

不知道我说得对不对...

还情大家指点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA中ACTION层, SERVICE层 ,MODLE层 和 DAO层的功能区分

JAVA中ACTION层, SERVICE层 &#xff0c;MODLE层 和 DAO层的功能区分 首先这是现在最基本的分层方式&#xff0c;结合了SSH架构。modle层就是对应的数据库表的实体类。Dao层是使用了hibernate连接数据库、操作数据库&#xff08;增删改查&#xff09;。Service层&#xff1a;引…

自定义权限 android,如何在Android中使用自定义权限?

蛊毒传说我创建了一个测试代码&#xff0c;您可以使用它并测试您的权限。有两个应用程序PermissionTestClient声明权限并使用此权限保护其活动。这是清单文件&#xff1a;<?xml version"1.0" encoding"utf-8"?> …

.net c# 中获得GridView的EmptyDataTemplate中的控件的方法(转)

拖了一个GridView到页面&#xff0c;当没有数据时在EmptyDataTemplate中显示添加的TextBox&#xff0c;但EmptyDataTemplate中不像FooterTemplate可以直接TextBox BankCard GridView1.FooterRow.FindControl("BankCard") as TextBox;来获取。 研究了一翻&#xff0c;…

MYSQL在centos上主从配置

主从配置理论传送门:http://blog.csdn.net/hguisu/article/details/7325124 具体配置方案: 一&#xff1a;MYSQL主从配置 1.1 部署环境 主(master_mysql): 192.168.1.200 OS:CentOS 6.5 从(slave_mysql): 192.168.1.201 OS:CentOS 6.5 1.2 安装mysql 主和从: yu…

Android实现支付宝AR功能,Android RecyclerView 实现支付宝首页效果

Android RecyclerView 实现支付宝首页效果[TOC]虽然我本人不喜欢支付宝的,但是这个网格本身其实还是不错的,项目更新中更改了一个布局为网格模式,类似支付宝.(估计是产品抄袭的.,我不管设计,只管实现就好.)类名描述RecyclerView.Adapter托管数据集合&#xff0c;为每个Item创建…

2008年CCNA第二学期第九单元题目(2008-12-14 14:04:38)

标签&#xff1a;教育 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />在运行 EIGRP 的路由器上&#xff0c;什么数据库将维护可行后继路由的列表&#xff1f;路由表邻居表拓扑表邻接表2 points for Option 3请参见图示。这是 …

随便写写

我刚把放了一天的一杯底水一饮而尽&#xff0c;并打算泡杯新茶&#xff0c;我就后悔了。一股灰味儿。一天竟然能落下这么多灰&#xff0c;也算叫我长记性了。可我还是抓了把新茶&#xff0c;并在心里打算着喝完这杯就走人。接热水的时候我低头看了一眼&#xff0c;今天穿的有点…

android wear评测,android wear5.1怎么样 android wear5.1更新评测

android wear5.1更新评测触控和菜单改善新版android wear的用户界面得到了小幅度的改进。在屏幕上向下滑动会唤出重新设计的快捷菜单&#xff0c;当中包含着诸多应用程序和功能的快捷方式。而如果是向左滑动&#xff0c;屏幕上会显示出常用联系人&#xff0c;你可以点击他们的头…

ReactiveCocoa入门教程——第一部分

本文翻译自RayWenderlich,原文&#xff1a;ReactiveCocoa Tutorial--The Definitive Introduction: Part 1/2 作为一个iOS开发者&#xff0c;你写的每一行代码几乎都是在相应某个事件&#xff0c;例如按钮的点击&#xff0c;收到网络消息&#xff0c;属性的变化&#xff08;通过…

C# Android wifi控制灯,求助如何在基于安卓通过WiFi与Arduino通信,实现对LED灯的控制。...

满意答案dkmeng推荐于 2017.12.15采纳率&#xff1a;55% 等级&#xff1a;9已帮助&#xff1a;567人项目需要的硬件如下&#xff1a;Arduino UnoEthernet ShieldLED灯 2个.电阻 2个.面包板(可选)连接导线路由器一个项目要的连接管脚如下&#xff1a;LED 1 --> pin 6 to g…

Mozilla 放出新的 Firefox 3.5 RC 版本(RC 3)

这几天 Mozilla 对 Firefox 3.5 的更新节奏真是够快&#xff0c;今天&#xff0c;一个新的 RC 版本&#xff08;显示为 RC 3&#xff09;又放出了。Firefox 3.5 RC 3 主要根据用户对之前版本的反馈进行了修正。有趣的是&#xff0c;笔者在其关于对话框中并没有发现 RC 字样&…

android studio 抽屉,java - Android导航抽屉(由Android Studio默认提供) - 堆栈内存溢出...

当我按下导航菜单项的更改时&#xff0c;它的颜色为黄色&#xff0c;直到释放时一直按它为默认。我没有明确编写任何代码来设置这些设置。 我该如何停止&#xff1f;请帮忙。 这是我的代码。 主要布局xmlns:android"http://schemas.android.com/apk/res/android"xmln…

大数据正在改变客户服务的五种方式

大数据正在改变客户服务的五种方式 任何组织的命脉&#xff0c;无论是否面向服务&#xff0c;都是需要为客户提供良好的服务。组织如何与其客户进行互动&#xff0c;会影响他们如何看待组织&#xff0c;这会影响潜在客户&#xff0c;除了组织最忠实的客户之外。 客户服务行业一…

JS正则表达式详解

JS的正则表达式//校验是否全由数字组成 function isDigit(s){var patrn/^[0-9]{1,20}$/;if (!patrn.exec(s)) return falsereturn true} //校验登录名&#xff1a;只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 function isRegisterUserName(s){var patrn/^[a-zA-…

android底部导航栏svg,vue开发移动端底部导航条功能

效果图src/app.vue头部导航内容区域import Tabbar from components/tabbar;export default {name: App,components:{Tabbar}}.g-container{position: relative;width:100%;height:100%;max-width:640px;min-width:320px;margin:0 auto;overflow:hidden;}.g-header-container{po…

C++ const的使用

下面的声明都是什么意思&#xff1f;const int a; int const a; const int *a; int * const a; int const * a const; 1、a是一个常整形数 2、a是一个常整形数 3、a是指向常整形数的指针&#xff08;整形数不可以修改&#xff0c;指针可修改&#xff09; 4、a是指向整形数的常指…