昨天和明天

#include<stdio.h>
struct date{
    int year;
    int month;
    int day;
};
int numbers_of_month(struct date d){
    int number[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    if((d.year%4==0&&d.year%100!=0)||(d.year%400==0))
        number[1]=29;
    return number[d.month-1];
}
int numbers_of_last_month(struct date d){
    int number[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    if((d.year%4==0&&d.year%100!=0)||(d.year%400==0))
        number[1]=29;
    return number[d.month-1-1];
}
int main(){
    struct date today,tomorrow,yesterday;
    scanf("%d %d %d",&today.year,&today.month,&today.day);
   
    if(today.day==numbers_of_month(today)){ 
        if(today.month==12) {
            tomorrow.year=today.year+1;
            tomorrow.month=1;
            tomorrow.day=1;
        }
        else {
            tomorrow.year=today.year;
            tomorrow.month=today.month+1;
            tomorrow.day=1;
        }
     }
    else{
           tomorrow.year=today.year;
            tomorrow.month=today.month;
            tomorrow.day=today.day+1;
    }
   
    if(today.day==1){
        if(today.month==1) {
            yesterday.year=today.year-1;
            yesterday.month=12;
            yesterday.day=31;
        }
        else {
            yesterday.year=today.year;
            yesterday.month=today.month-1;
            yesterday.day=numbers_of_last_month(today);
        }
    }
    else{
         yesterday.year=today.year;
            yesterday.month=today.month;
            yesterday.day=today.day-1;
    } printf("%d %d %d\n",yesterday.year,yesterday.month,yesterday.day);
     printf("%d %d %d",tomorrow.year,tomorrow.month,tomorrow.day);
   
    return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值