搜索
查看: 300|回复: 1
打印 上一主题 下一主题

啊哈币用完了,只能在这里提问,555(关于星期计算)

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2018-8-6 14:28:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么计算两个日期之间的天数?
求核心代码(判断平闰年等已输入,请在两个星号之间输入核心代码)
#include<stdio.h>
int main()
{
int y1,m1,d1,y2,m2,d2,i,sum,sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8,A[12]={0,31,59,90,120,151,181,212,243,273,304,334};
while(1)
    {
        printf("请输入年份,可自动判断平闰年(输入后请按回车)\n");
        scanf("%d",&y1);
    if(y1%100==0)
    {
                if(y1%400==0)
                        printf("此年份为闰年,2月不可超过29天。\n");
        else
                        printf("此年份为平年,2月不可超过28天。\n");
    }
    if(y1%100!=0)
    {
                if(y1%4==0)
                        printf("此年份为闰年,2月不可超过29天。\n");
        else
                        printf("此年份为平年,2月不可超过28天。\n");
    }
        printf("请输入月份(输入后请按回车)\n");
        scanf("%d",&m1);
    while(m1>=13||m1<=0)
    {
                printf("月份输入错误\n请输入月份(输入后请按回车)\n");
                scanf("%d",&m1);
    }
        printf("请输入日期(输入后请按回车)\n");
    scanf("%d",&d1);
    if(y1%100==0 && y1%400==0 && m1==2)
    {
                while(d1<=0||d1>=30)
                {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d1);
        }
    }
    if(y1%100!=0 && y1%400!=0 && m1==2)
    {
                while(d1<=0||d1>=29)
                {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d1);
                }
    }
    if(y1%100!=0 && y1%4==0 && m1==2)
    {
                while(d1<=0||d1>=30)
                {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d1);
                }
    }
    if(y1%100!=0 && y1%4!=0 && m1==2)
    {
                while(d1<=0||d1>=30)
                {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d1);
                }
    }
        if(m1==1 || m1==3 || m1==5 || m1==7 || m1==8 || m1==10 || m1==12)
    {
                while(d1<=0 || d1>=32)
        {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d1);       
        }
    }
    if(m1==4 || m1==6 || m1==9 || m1==11)
    {
                while(d1<=0 || d1>=31)
        {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d1);       
        }
    }
    printf("请输入年份,可自动判断平闰年(输入后请按回车)\n");
        scanf("%d",&y2);
    if(y2%100==0)
    {
                if(y2%400==0)
                        printf("此年份为闰年,2月不可超过29天。\n");
        else
                        printf("此年份为平年,2月不可超过28天。\n");
    }
    if(y2%100!=0)
    {
                if(y2%4==0)
                        printf("此年份为闰年,2月不可超过29天。\n");
        else
                        printf("此年份为平年,2月不可超过28天。\n");
    }
        printf("请输入月份(输入后请按回车)\n");
        scanf("%d",&m2);
    while(m2>=13||m2<=0)
    {
                printf("月份输入错误\n请输入月份(输入后请按回车)\n");
                scanf("%d",&m2);
    }
        printf("请输入日期(输入后请按回车)\n");
    scanf("%d",&d2);
    if(y2%100==0 && y2%400==0 && m2==2)
    {
                while(d2<=0||d2>=30)
                {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d2);
        }
    }
    if(y2%100!=0 && y2%400!=0 && m2==2)
    {
                while(d2<=0||d2>=29)
                {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d2);
                }
    }
    if(y2%100!=0 && y2%4==0 && m2==2)
    {
                while(d2<=0||d2>=30)
                {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d2);
                }
    }
    if(y2%100!=0 && y2%4!=0 && m2==2)
    {
                while(d2<=0||d2>=30)
                {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d2);
                }
    }
        if(m2==1 || m2==3 || m2==5 || m2==7 || m2==8 || m2==10 || m2==12)
    {
                while(d2<=0 || d2>=32)
        {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d2);       
        }
    }
    if(m2==4 || m2==6 || m2==9 || m2==11)
    {
                while(d2<=0 || d2>=31)
        {
                        printf("日期输入错误\n请输入日期(输入后请按回车)\n");
                        scanf("%d",&d2);       
        }
    }

*











*
printf("这两个日期相隔%d天。\n",sum);
system("pause");
return 0;
}

评分

参与人数 2啊哈币 +13 收起 理由
啊哈磊 + 10 送你一点啊哈币,提问要积极哦!
创世菌 + 3 送你一点啊哈币

查看全部评分

沙发
发表于 2018-8-6 22:44:16 | 只看该作者

回帖奖励 +1

呵呵
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表