Yatt 发表于 2022-10-23 23:53:35

判断是否为闰年题目(刚学不懂)

//题目:判断是否为闰年
#include <stdio.h>
#include<math.h>
int main()
{
        int a;
        printf("输入年份\n");
        scanf("%d",&a);
        if(a%4==0&&a%400==0&&a%100==0)
                printf("yes");
       
        else
        {
                printf("no");
        }
        return 0;
}
我看以前鱼c视频不是这样写的,试了几个年份没啥问题,就是不知道这样写对不对。

临时号 发表于 2022-10-23 23:57:04

条件写错了
#include <stdio.h>
#include<math.h>
int main()
{
      int a;
      printf("输入年份\n");
      scanf("%d",&a);
      if(a%4==0&&a%100!=0||a%400==0)
                printf("yes");
      
      else
      {
                printf("no");
      }
      return 0;
}

jackz007 发表于 2022-10-24 00:00:53

本帖最后由 jackz007 于 2022-10-24 00:04 编辑

      这才是判断润年正确的条件
      if((a % 4 == 0 && a % 100 != 0) || a % 400 == 0)
      你的条件需要同时满足 a 可以被 4、100、400 整除,这样的年份属于凤毛麟角般的存在啊,其实,你的条件就一条,只要 a 可以被 400 整除就可以了,因为,如果可以被 400 整除,那么,肯定也可以被 100 和 4 整除。
      

Yatt 发表于 2022-10-24 00:12:32

临时号 发表于 2022-10-23 23:57
条件写错了

原来我一直理解错闰年的算法{:10_247:}

Yatt 发表于 2022-10-24 00:15:04

jackz007 发表于 2022-10-24 00:00
这才是判断润年正确的条件

      你的条件需要同时满足 a 可以被 4、100、400 整除,这样的年 ...

谢谢啦{:5_95:}
页: [1]
查看完整版本: 判断是否为闰年题目(刚学不懂)