华科机考:打印日期

Posted 哦摩西罗伊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华科机考:打印日期相关的知识,希望对你有一定的参考价值。

时间限制:1秒       空间限制:32768K

题目描述

给出年分m和一年中的第n天,算出第n天是几月几号。

输入描述: 输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。

 

输出描述: 可能有多组测试数据,对于每组数据, 按 yyyy-mm-dd的格式将输入中对应的日期打印出来。

输入例子: 2000 3

             2000 31

             2000 40

             2000 60

             2000 61

             2001 60

 

输出例子: 2000-01-03

              2000-01-31

             2000-02-09

             2000-02-29

             2000-03-01

             2001-03-01

吐槽一下:12月具体的天数不记得了o(╯□╰)o

代码:

#include <iostream>
#include <stdio.h>
using namespace std;


int main(){
   int year,day;
   int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};//平年
   int flag,i;
   while(cin>>year>>day){
   flag=0;
   month[1]=28;
   if(year%400==0)
   flag=1;
   else if(year%4==0&&year%100!=0)
   flag=1;
   if(flag==1)
   month[1]=29;
   i=0;
   while(day>0){
    day=day-month[i++];
   }
   printf("%d-%02d-%02d\n",year,i,day+month[i-1]);
   }
   return 0;
}

 

以上是关于华科机考:打印日期的主要内容,如果未能解决你的问题,请参考以下文章

华科机考:最小年龄的3个职工

华科机考:阶乘

华科机考:排序

华科机考:统计单词

华科机考:二叉树遍历

华科机考:八进制