文章

21

粉丝

43

获赞

1

访问

5.2k

头像
日期差值 题解:有人能看出有啥问题吗?
P1290 上海交通大学/西北工业大学2019机试
发布于2024年3月23日 11:41
阅读数 209


#include<stdio.h>
#include<stdlib.h>
int days[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int day(int n){

    int year = n/10000;
    int month = n/10000/100;
    int da =  n/10000%100;
    days[2] = (year%4==0&&year%100!=0 || year%400==0?29:28);
    while(month--){
        da+=days[month];
    }
    while(year--){
        da+=(year%4==0&&year%100!=0 || year%400==0?366:365);
    }
    return da;
}
int  main(void){
    
    int dateone,datetwo;
    while(scanf("%d%d",&dateone,&datetwo) !=EOF){
        int d = abs(day(dateone)-day(datetwo))+1;
        printf("%d\n",d);
    } 
...

登录查看完整内容


登录后发布评论

2 条评论
snake VIP
2024年3月23日 14:27

月份计算写错了吧

赞(0)

渐鸿于陆 : 回复 snake: 还真是,自己检查半天检查不出来。又帮了我,谢谢佬

2024年3月23日 14:43