h1366474214 2020-12-19 17:32 采纳率: 0%
浏览 25

计算两个日期的天数差

#include<stdio.h>
#include<math.h> 
struct date
{
    int year;
    int month;
    int day;
 }day1,day2;
 
 int main(void)
 {
     int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
     printf("请输入两个日期:\n");
     scanf("%d %d %d",&day1.year,&day1.month,&day1.day); 
     scanf("%d %d %d",&day2.year,&day2.month,&day2.day);
    int t1,t2,i,cha,del;
    for(i=day1.month+1;i<13;i++)
    t1=mon[day1.month]-day1.day+mon[i]+1;  //与下一年差的天数 
    i=0;     
    for(i=day2.month+1;i<13;i++)
    t2=mon[day2.month]-day2.day+mon[i]+1;   //与下一年差的天数 
    cha=day1.year-day2.year;
    if((++day1.year)%4==0&&day1.year%100!=0&&day1.year%400==0&&day1.month<3)  t1++;
    if((++day2.year)%4==0&&day2.year%100!=0&&day2.year%400==0&&day2.month<3)  t2++;
    del=fabs(cha*365+t1-t2)+1;
    printf("%d年%d月%d日与%d年%d月%d日的差值为:%d",--day1.year,day1.month,day1.day
    ,--day2.year,day2.month,day2.day,del);
    return 0;

  } 

 

好心人帮我看看代码哪里有问题,运行结果不对,救救孩子

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 15:27
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?