hust考研真题-计算一年的第n天是几月几号

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/L1558198727/article/details/98541443

https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b?tpId=69&tqId=29669&tPage=1&ru=/kaoyan/retest/11002&qru=/ta/hust-kaoyan/question-ranking
在这里插入图片描述
格式化输出

printf("%04d-%02d-%02d\n",y,i,n + monDay[ry][i]);

%04d 表示一共四位不足的前面用0补齐


#include <iostream>
#include <stdio.h>
#include <vector>

using namespace std;

#define debug(x) cout<<#x<<": "<<x<<endl;

int monDay[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}
};
int isrun(int y){
    if(y%100 ==0 ){
        return ( y%400 == 0);
    }else{
        return ( y%4 == 0);
    }
}

int main()
{
    int y;
    int n;
    while(scanf("%d%d" , &y,&n) != EOF){
        int ry = isrun(y);
        for(int i=0;i<13;i++){
            n -= monDay[ry][i];
            if( n <= 0 ){
                printf("%04d-%02d-%02d\n",y,i,n + monDay[ry][i]);
                break;
            }
        }
    }
    return 0;
}

展开阅读全文

没有更多推荐了,返回首页