C++算法入门练习——日期加法

给定一个日期date和一个正整数d,求日期date加上d天后的日期。

思路:

利用两个二维数组分别存储闰年和非闰年的每个月的天数,以此来使日期变化。

简单的加法实现——利用for循环,一天一天增加,虽然效率低,但很好实现。

代码如下:

#include 
using namespace std;

int monthday[2][13] = {
    {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
    };

bool isrunnian(int year){
    if(year%400==0||(year%4==0&&year%100!=0)){
        return true;
    }
    else{
        return false;
    }
}

void addDay(int &year,int &month,int &day){
    day++;
    if(day>monthday[isrunnian(year)][month]){
        day = 1;
        month++;
    }
    if(month>12){
        month = 1;
        year++;
    }
}

int main(){
    int year,month,day;
    scanf("%d-%d-%d",&year,&month,&day);
    int increase;
    cin>>increase;
    for(int i=0;i

同理可以做日期减法,自己尝试修改吧!

你可能感兴趣的:(C++,算法,c++)