欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

日期计算 201509-2

程序员文章站 2022-03-20 22:51:51
问题描述  给定一个年份y和一个整数d,问这一年的第d天是几月几日?  注意闰年的2月有29天。满足下面条件之一的是闰年:  1) 年份是4的整数倍,而且不是100的整数倍;  2) 年份是400的整数倍。输入格式  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。  输入的第二行包含一个整数d,d在1至365之间。输出格式  输出两行,每行一个整数,分别表示答案的月份和日期。样例输入201580样例输出321样例输入2000...

问题描述
  给定一个年份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

蠢办法只得了70分 ,后来想想原因 如果输入d=365那么月份就是13了,不满足题意,然后随意将30改成31,变成60分,改成29,变成50分。。。看来这平台对于这种可数的结果是按照正确的个数给分的。
代码段:


```cpp

```cpp
#include <iostream>

using namespace std;

int main()
{
    int run[12]= {31,29,31,30,31,30,31,31,30,31,30,31};
    int ping[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
    int y,d,yue;
    cin>>y;
    cin>>d;
    int a[12];

    for(int i=0; i<12; i++)
    {
        if((y/4)==0&&(y/100)!=0&&(y/400==0))
        {
            a[i]=run[i];
        }
        else
        {
            a[i]=ping[i];
        }

    }

    yue=d/30+1;
    cout<<yue<<endl;
    switch(yue)
    {
    case 1:
        cout<<d;
        break;
    case 2:
        cout<<(d-a[0]);
        break;
    case 3:
        cout<<(d-(a[0]+a[1]));
        break;
    case 4:
        cout<<(d-(a[0]+a[1]+a[2]));
        break;
    case 5:
        cout<<d-(a[0]+a[1]+a[2]+a[3]);
        break;
    case 6:
        cout<<d-(a[0]+a[1]+a[2]+a[3]+a[4]);
        break;
    case 7:
        cout<<d-(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]);
        break;
    case 8:
        cout<<d-(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]);
        break;
    case 9:
        cout<<d-(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]);
        break;
    case 10:

        cout<<d-(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]);
        break;
    case 11:
        cout<<d-(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]);
        break;
    case 12:
        cout<<d-(a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+a[10]);
        break;
    default:
        break;
    }
}

本文地址:https://blog.csdn.net/weixin_43373277/article/details/110672788

相关标签: 12月CCF考试 ccf