| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4057 人关注过本帖
标题:用嵌套if语句实现判断一个年份是否为闰年,有几处看不懂的,求指教,谢谢
只看楼主 加入收藏
随风晨爱
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2017-6-1
结帖率:91.67%
收藏
已结贴  问题点数:10 回复次数:5 
用嵌套if语句实现判断一个年份是否为闰年,有几处看不懂的,求指教,谢谢
闰年,1.能被4整除,但不能被一百整除。2.能被400 整除的年份都是闰年
嵌套if语句如下:
#include <iostream>
using namespace std;
int main ()
{
    int year;
    bool leap;
    cout << "please enter year" << endl;
    cin >> year;
    if (year%4 == 0)
    {
        if (year%100 == 0)
        {
            if(year%400 == 0) leap=true;
            else leap=false;
        }
        else leap=true;
    }
    else leap=false;
    if (leap)
        cout << year << " is";
        else
        cout << year << " is not";
    cout << " a leap year." << endl;
    return 0;
}
if (year%4 == 0)对应的是else leap=true;这个语句吗,如果是但是还少一个不能被一百整除的条件,同样的第二个大括号里面的if (year%100 == 0),对应的语句是else leap=true,这个嵌套语句怎么理解呢,每个if语句是什么关系,比较然,求指教
搜索更多相关主题的帖子: 嵌套 if 语句 闰年 year 
2018-10-16 13:11
no1xijin
Rank: 9Rank: 9Rank: 9
来 自:江西
等 级:贵宾
威 望:20
帖 子:211
专家分:1207
注 册:2015-7-8
收藏
得分:10 
同一颜色为一套if...else...
#include <iostream>
using namespace std;
int main ()
{
    int year;
    bool leap;
    cout << "please enter year" << endl;
    cin >> year;
    if (year%4 == 0)
    {
        if (year%100 == 0)
        {
            if(year%400 == 0) leap=true;
            else leap=false;
        }
        else leap=true;
    }
    else leap=false;
    if (leap)
        cout << year << " is";
        else
        cout << year << " is not";
    cout << " a leap year." << endl;
    return 0;
}

126邮箱联系方式:no1xijin@126. com
2018-10-16 13:51
随风晨爱
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2017-6-1
收藏
得分:0 
回复 2楼 no1xijin
谢谢你的指点,每个颜色对应为一套,是判断了turn和false,但是语句之间的逻辑关系是怎样的,如题1.能被4整除,但不能被一百整除。这样的条件程序中式如何也体现的,2.能被400 整除的年份都是闰年,这样的条件程序中式如何也体现的,我有点懵
2018-10-16 14:20
no1xijin
Rank: 9Rank: 9Rank: 9
来 自:江西
等 级:贵宾
威 望:20
帖 子:211
专家分:1207
注 册:2015-7-8
收藏
得分:0 
条件1,2是或关系,满足任一条件的年份都是闰年,两个条件都不能满足的年份都不是闰年。
代码中按数字顺序看,同一颜色表示对应的逻辑和代码。
#include <iostream>
using namespace std;
int main ()
{
    int year;
    bool leap;
    cout << "please enter year" << endl;
    cin >> year;
    if (year%4 == 0)
    {
        if (year%100 == 0)  
        {
            if(year%400 == 0) leap=true; // 3.能被4整除,能被100整除,不满足条件1,检查是否满足条件2,:能被能被400 整除满足条件2,即闰年
            else leap=false; //4.不能被能被400 整除,条件1和2无一满足,即非闰年
        }
        else leap=true; // 2.能被4整除,无法被100整除,满足条件1,即闰年
    }
    else leap=false;  // 1.不能被4整除,也就无法被100和400整除,条件1和2无一满足即非闰年
    if (leap)
        cout << year << " is";
        else
        cout << year << " is not";
    cout << " a leap year." << endl;
    return 0;
}

[此贴子已经被作者于2018-10-16 16:53编辑过]


126邮箱联系方式:no1xijin@126. com
2018-10-16 16:51
随风晨爱
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2017-6-1
收藏
得分:0 
回复 4楼 no1xijin
明白了,谢谢
2018-10-16 21:03
cn闹闹爸
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-10-21
收藏
得分:0 
2018-10-21 18:20
快速回复:用嵌套if语句实现判断一个年份是否为闰年,有几处看不懂的,求指教,谢 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043093 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved