• 某月天数问题(1.if语句实现 2.二维数组实现)(c++)


    【题目描述】
    从键盘输入某年某月,编程输出该年的该月拥有的天数

    【题目难点】

    1. 闰年定义:
      (1)能被4整除,却不能被100整除
      (2)能被400整除

    代码1(用if简单语句来完成)

    #include <iostream>
    using namespace std;
    
    int main()
    {
        int y,m;
        do{
            cout << "输入年份和月份";
            cin >> y >> m;
        } while( m < 1 || m > 12 );
        
        if( m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12 )
            cout << "31";
        if( m==4 || m==6 || m==9 || m==11 )
            cout << "30";
        if( m==2 && ( ( y%4==0 && y%100!=0 ) || ( y%400==0 ) ) )
            cout << "29";//闰年二月
        if( m==2 && ( ( y%4!=0 ) || ( y%100==0 && y%400!=0 ) ) )
            cout << "28";//非闰年二月
        return 0;
    }
    
    

    代码2(用二维数组来完成)

    #include <iostream>
    using namespace std;
    #define MONTHS 12
    
    int main()
    {
        int day[2][MONTHS] = { { 31,28,31,30,31,30,31,31,30,31,30,31 },
                               { 31,29,31,30,31,30,31,31,30,31,30,31 } };
        int y, m;
        do{
            cout << "输入年份和月份";
            cin >> y >> m;
        } while( m < 1 || m > 12 );
        
        if( ( ( y%4==0 ) && (y%100!=0) ) || ( y%400==0 ) )
            cout << days[1][month-1];//闰年
        else
            cout << days[0][month-1];//非闰年
        return 0;
    }
    
  • 相关阅读:
    改进的二分查找
    关于Java并发编程的总结和思考
    java异常捕获案例,此题的出处是《Java编程思想》一书
    一道关于int和Integer的面试题
    看《韩顺平Java》视频的笔记
    spring task 定时任务执行两次
    记录
    Java基础面试题
    TeamViewer修改绑定设备
    jqGrid常用操作
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626184.html
Copyright © 2020-2023  润新知