CCF 日期计算

    xiaoxiao2026-08-18  12

    一.问题描述

    问题描述   给定一个年份y和一个整数d,问这一年的第d天是几月几日?   注意闰年的2月有29天。满足下面条件之一的是闰年:   1) 年份是4的整数倍,而且不是100的整数倍;   2) 年份是400的整数倍。 输入格式   输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。   输入的第二行包含一个整数d,d在1至365之间。 输出格式   输出两行,每行一个整数,分别表示答案的月份和日期。 样例输入 2015 80 样例输出 3 21 样例输入 2000 40 样例输出 2 9

    二.算法

    90分版

    #include <iostream> using namespace std; int main(){ int monthDay[] = {31,28,31,30,31,30,31,31,30,31,30,31}; int year,day; // count累加到多一个月天数,day减之 // 由于i({}块级作用域)在函数内部,用month计数 int count = 0,month; cin>>year>>day; //cin>>day; if(year%4==0 || (year%400==0 && year%100 != 0)){ monthDay[1]=29; } for(int i=0; i<12,count<day; i++){ //if(count>=day) // break; count += monthDay[i]; month = i; } count -= monthDay[month]; cout<<month+1<<endl<<day-count; return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1311321.html
    最新回复(0)