zoukankan      html  css  js  c++  java
  • 日期问题

    Problem Description

    输入一个用年月日表示的日期,求该日期是该年的第几天。输入某年的第几天,输出这一天是该年的几月几号,茂茂解不出,需要你的帮助。

    Input

    开始有个整数k,表示询问的种类,如果k=1,后面有三个合法的整数a,b,c,表示输入的年月日,此时输出该日期是该年的第几天;如果k=2,后面有两个合法的整数a,b,求a年的第b天的日期。保证所有的输入合法。

    Output

    对于询问1,输出一个整数表示是该年的第几天。对于询问2,输出年月月,格式为****/**/** 如2013/09/07

    Sample Input

    2 2013 70
    1 2013 3 1
    1 2000 3 1
    

    Sample Output

    2013/03/11
    60
    61
    



    #include <iostream>
    
    using namespace std;
    int isRN(int y)
    {
        if((y%4==0&&y%100!=0)||y%400==0)
        {
            return 1;
        }
        return 0;
    }
    int a[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 main()
    {
        int n;
        int y,m,d;
        int s;
        int flag;
        while(cin>>n)
        {
    
            s=0;
            if(n==1)
            {
                    cin>>y>>m>>d;
                    flag=isRN(y);
                    for(int i=1;i<m;++i)
                    {
                        s+=a[flag][i];
                    }
                    s+=d;
                    cout<<s<<endl;
            }
            else if(n==2)
            {
                cin>>y>>s;
                flag=isRN(y);
                m=0;
                do{
                    s-=a[flag][++m];
                }while(s>0);
                d = s+a[flag][m];
                if(m>=10)
                {
                    cout<<y<<"/"<<m<<"/"<<d<<endl;
                }
                else
                {
                    cout<<y<<"/0"<<m<<"/"<<d<<endl;
    
                }
    
            }
    
    
        }
        return 0;
    }
    



  • 相关阅读:
    企业管理:“残缺”也是一种美?
    销售到出仓所经历的表
    采购到入库所经历的表
    OM 订单状态
    OM客户、客户地点
    接收事务处理类型 rcv_transactions
    安装ORACLE不能安装解决方法
    系统变量设置
    如何取分组最大值记录
    CentOS (Linux) 上开启FTP服务并配置用户
  • 原文地址:https://www.cnblogs.com/yldf/p/11900201.html
Copyright © 2011-2022 走看看