《判断闰年之ctrl+c && ctrl+v》

发布于:2023-09-27 ⋅ 阅读:(188) ⋅ 点赞:(0)

   最开始在刚接触C++的时候,老师布置了一个任务给我们:

  闰年是很特殊的一个年份,现需要你判断两个年份之间是否包含闰年。例如2000 年到 2010年        间, 包含3个闰年:2000, 2004, 2008,故存在闰年,输出“Yes”。

【输入格式】

 共1行:两个空格隔开的正整数 a, b。

【输出格式】

  若a, b 间有闰年,则输出“Yes”,否则输出"No"。

 我寻思着不就判断个闰年嘛......想都没想,夸夸一个循环,又填几个if分支就写好了,然后给了老师,老师才跟我说要用十次,嘿我一听,用10次,几个ctrl+c,ctrl+v就完事了,但鬼知道,我这玩意,他报错了!!!(在那个时候,我把复制粘贴当宝用)

后来,看了半天,发现是我复制错了......我又一个个调试,然后最后找不出来,又重新打了10遍代码......

#include <iostream>
using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;
    /*定义flag计数器*/
    bool flag=0;
    for (int i=a;i<=b;i++)
    {
        if (i%4==0 && i%100!=0 || i%400==0)
        {
    		flag=1;
        }
    }
    if (flag)
    {
        cout << "Yes" << endl;
    }
    else
    {
        cout << "No" << endl;
    }
    return 0;
}

现在回想起来,那个时候也算是我写过最蠢的一个代码了,等现在来看,只是一个函数搞定的事情罢了,那个时候却写了10次这玩意儿......

#include <iostream>
using namespace std;

// 在此定义函数isLeap()
bool isLeap(int a)
{
    return (a%4==0 and a%100!=0) || (a%400==0);

}


int main()
{
    for (int i = 1900; i <= 2000; i++)
    {
        if (isLeap(i))
        {
            cout << i << endl;
        }
    }
    return 0;
}
 

(这个是找1900至2000年闰年的代码,逻辑上相差不大,姑且看吧)

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到