| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 19312 人关注过本帖
标题:计算任意两个日期的天数
取消只看楼主 加入收藏
嘲风
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-12-22
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:2 
计算任意两个日期的天数
  在线等   编写一个C程序计算任意两个日期之间间隔天数,要求以yyyy-mm-dd的格式不分先后输入两个有效日期,计算他们之间的间隔天数。
搜索更多相关主题的帖子: 在线 
2017-01-06 08:23
嘲风
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-12-22
收藏
得分:0 
回复 4楼 wp231957
我写的这个代码问题出在哪点了?
#include<stdio.h>
int p;
int ping[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int year_allday(int year)
{
    if((year%4==0)&&(year%100!=0))
        {
            p=366;
            ping[2]=29;
    }
    else
        if(year%400==0)
        {
            p=366;
            ping[2]=29;
        }
        else
            p=365;
    return p;
}
void swap(int *x,int *y)
{
    int t;
        t=*y;
        *y=*x;
        *x=t;
}
int main()
{
    int year1,year2,month1,month2,day1,day2,count_days=0;
    int years,i,*pointer1,*pointer2;
    pointer1=&year1;
    pointer2=&year2;
    printf("请以yyyy-mm-dd的形式输入年份:\n");
    scanf("%d-%d-%d",&year1,&month1,&day1);
    printf("请以yyyy-mm-dd的形式输入年份:\n");
    scanf("%d-%d-%d",&year2,&month2,&day2);
    year_allday(year1);
    for(int m=0;m<month1+1;m++)
        count_days+=ping[m];
    count_days+=day1;
    year_allday(year2);
    for(int n=0;n<month2;n++)
        count_days-=ping[n];
    count_days-=day2;
    if(year1>year2)
        swap(pointer1,pointer2);
    for(int y=year1;y<year2;y++)
    {   
        year_allday(y);
        count_days+=p;
    }
    printf("相差了%d天\n",count_days);
}
   
2017-01-07 18:00
嘲风
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-12-22
收藏
得分:0 
回复 7楼 秋寂
p 不是全局变量吗?并且 我是输入不同的年份,那个p也会输出不同的数据是满足情况的啊!
2017-01-10 16:33
快速回复:计算任意两个日期的天数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.216842 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved