Wei-Yuanzhe 发表于 2023-6-10 07:23:44

求助

#include <stdio.h>

int main(){
    int a,t, u;
    scanf("%d",&a);
    t = a % 4;
    u = a % 400;
   
    if(t == 0 && u == 0)
    {
      printf("1\n");
    }
    else
    {
      printf("0\n");
    }
   
    return 0;
}
到底那里做错了!!
请问有木有大佬帮帮忙?{:10_266:}

Ewan-Ahiouy 发表于 2023-6-10 07:31:30

这是我的代码,你可以参考一下:

#include <stdio.h>

int main(){
    int a;
    scanf("%d", &a);
    if ((a % 100 == 0 && a % 400 == 0) || (a % 100 != 0 && a % 4 == 0)) printf("0\n");
    else printf("1\n");
    return 0;
}

Ewan-Ahiouy 发表于 2023-6-10 07:36:31

问题可能是这样的:

你的代码,输入的数字只有可以同时被4、400整除,才可以说是闰年,但是其实并不是这样的。如1912其实也是闰年,但是你的代码会判断为非闰年

Wei-Yuanzhe 发表于 2023-6-10 07:53:45

本帖最后由 Wei-Yuanzhe 于 2023-6-10 07:55 编辑

Ewan-Ahiouy 发表于 2023-6-10 07:31
这是我的代码,你可以参考一下:

不行,会报错

Ewan-Ahiouy 发表于 2023-6-10 08:13:16

Wei-Yuanzhe 发表于 2023-6-10 07:53
不行,会报错

额,是闰年输出1,不是闰年输出0{:10_245:}

New Code

#include <stdio.h>

int main(){
    int a;
    scanf("%d", &a);
    if ((a % 100 == 0 && a % 400 == 0) || (a % 100 != 0 && a % 4 == 0)) printf("1\n");
    else printf("0\n");
    return 0;
}

歌者文明清理员 发表于 2023-6-21 19:37:40

Wei-Yuanzhe 发表于 2023-6-10 07:53
不行,会报错

ewan-ahiouy是你小号吗
(如果不是我就删

Wei-Yuanzhe 发表于 2023-6-21 20:59:52

{:10_272:}

Wei-Yuanzhe 发表于 2023-6-21 21:01:05

不适

zhangjinxuan 发表于 2023-7-2 17:46:02

歌者文明清理员 发表于 2023-6-21 19:37
ewan-ahiouy是你小号吗
(如果不是我就删

https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=229568&pid=6264190
页: [1]
查看完整版本: 求助