文章

28

粉丝

226

获赞

51

访问

130.4k

头像
同1410、1437。注意日期增加引起的月、年变化
Sacan SVIP
P1446 北京理工大学机试题
发布于2022年6月4日 16:45
阅读数 4.9k

在日期增加时,可能会引起月份增加;月份增加,又可能会引起年增加。而年增加又可能会引起闰年与否的增加。

所以在每数一天后,都要判断一下上述情况。

(老是忘了写换行)

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int days[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
    for(int i = 1;i <= n;i++){
        int y,m,d,x;
        cin >> y >> m >> d >> x;
        if((y%4==0 && y%100!=0) || y%400==0){
            days[2] = 29;
        }else{
            days[2] = 28;
        }

        while(x > 0){
            if(d+1 > days[m]){
                if(m+1 > 12){
                    y++;
                    if((y%4==0 && y%100!=0) || y%400==0){
                        days[2] = 29;
                    }else{
                        days[2] = 28;
                    }
                    m = 1;
                    d = 0;
                }else{
                   m++;
                   d = 0;
                }
            }
      ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发