yqrmf 2021-11-10 08:29 采纳率: 50%
浏览 29
已结题

两个日期相差天数(不知道哪错了,能不能帮我看看)

#include<stdio.h>

int main()
{int y1,m1,d1,y2,m2,d2,a=0,b,t,f1=0,f2=0,f3=0;
scanf("%d-%d-%d %d-%d-%d",&y1,&m1,&d1,&y2,&m2,&d2);
if(y2-y1==1)f3=1;
if((y1%4==0&&y1%100!=0)||y1%400==0)
f1=1;
for(;y1<y2;y1++){
if((y1%4==0&&y1%100!=0)||y1%400==0){
a+=366;
}else a+=365;
}
if((y1%4==0&&y1%100!=0)||y1%400==0)
f2=1;
if(m1>m2){
t=m1;
m1=m2;
m2=t;
b=-1;
}else b=1;
for(;m1<m2;m1++){
switch(m1){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:a+=31b;
break;
case 4:
case 6:
case 9:
case 11:a+=30
b;
break;
case 2:if(f2==1){
a+=29b;
}else a+=28
b;
break;
}
}
a+=d2-d1;
if(f1==1&&f2==0&&f3==1)a-=1;
if(f1==0&&f2==1&&f3==1)a+=1;

printf("%d",a);
return 0;

}

  • 写回答

2条回答 默认 最新

  • yqrmf 2021-11-11 23:32
    关注

    #include<stdio.h>

    int main()
    {int y1,m1,d1,y2,m2,d2,a=0,s,i,s1,s2;
    scanf("%d-%d-%d %d-%d-%d",&y1,&m1,&d1,&y2,&m2,&d2);
    int n=y1;
    for(;y1<y2;y1++){
    if((y1%4==0&&y1%100!=0)||y1%400==0){
    a+=366;
    }else a+=365;
    }
    for(i=1,s=0;i<m1;i++){
    switch(i){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:s+=31;
    break;
    case 4:
    case 6:
    case 9:
    case 11:s+=30;
    break;
    case 2:if((n%4==0&&n%100!=0)||n%400==0){
    s+=29;
    }else s+=28;
    break;
    }
    }
    s1=s+d1;
    for(i=1,s=0;i<m2;i++){
    switch(i){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:s+=31;
    break;
    case 4:
    case 6:
    case 9:
    case 11:s+=30;
    break;
    case 2:if((y2%4==0&&y2%100!=0)||y2%400==0){
    s+=29;
    }else s+=28;
    break;
    }
    }
    s2=s+d2;
    a+=s2-s1;
    printf("%d",a);
    return 0;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月18日
  • 已采纳回答 11月11日
  • 创建了问题 11月10日

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?