1 条题解

  • 0
    @ 2020-03-22 09:23:59

    可能有些同学会说, 用了函数后, 总的程序变长了!
    所以, 我不喜欢函数!

    其实, 函数是用来把复杂的东西隔离开来的。

    用这种方法来阅读程序, 就会容易很多:

    阅读程序时, 只需要阅读main函数。
    如果对main中调用的某个函数有疑问, 才需要阅读上面的函数定义。

    同样,写程序也可以这样。
    写一个main函数, 当你需要某一个功能的时候, 就“假装”已经存在了一个函数。 直接调用它。
    当你写完main之后, 再去实现你刚才假装存在的函数。

    李老师就是用这种方法, 解决了这道题目。
    代码如下:

    #include <iostream>
    
    using namespace std;
    
    bool isRunNian(int y)
    {
      return (y %
                  ((y % 100 == 0) ? 400 : 4) ==
              0);
    }
    
    bool dayue(int m)
    {
      return m % 2 == (m <= 7 ? 1 : 0);
    }
    
    bool last(int y, int m, int d)
    {
      if (m == 2)
      {
        return isRunNian(y) ? (d == 29) : (d == 28);
      }
      else if (dayue(m))
      {
        return d == 31;
      }
      else
      {
        return d == 30;
      }
    }
    
    int main()
    {
      int y, m, d;
      cin >> y >> m >> d;
      cout << (last(y, m, d) ? "Yes" : "No");
    }
    
  • 1

信息

ID
1050
难度
8
分类
(无)
标签
递交数
14
已通过
5
通过率
36%
上传者