nk54 发表于 2020-11-1 23:02:09

错哪里了?

#include <stdio.h>
void main()
{
        int year;
        scanf("%d",&year);
        if(year%4==0&&year%100!=0||year%400==0);
        {
        printf("%d is 闰年",year);
        }
        else
        {
                printf("%d is not 闰年",year);
        }

}

Compiling...
判断闰年.c
F:\学习\visual c++ 6.0\判断闰年\判断闰年.c(10) : error C2181: illegal else without matching if
执行 cl.exe 时出错.

判断闰年.obj - 1 error(s), 0 warning(s)

昨非 发表于 2020-11-1 23:04:52

if那行的分号去掉就好了

昨非 发表于 2020-11-1 23:06:13

#include <stdio.h>
void main()
{
        int year;
        scanf("%d", &year);
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
        {
                printf("%d is 闰年", year);
        }
        else
        {
                printf("%d is not 闰年", year);
        }

}

nk54 发表于 2020-11-1 23:08:45

昨非 发表于 2020-11-1 23:04
if那行的分号去掉就好了

求闰年的,我这个代码不对,帮我完善行吗

nk54 发表于 2020-11-1 23:13:41

昨非 发表于 2020-11-1 23:06


我的意思是,我敲的这个求闰年的代码不完整,还要加上哪些条件才正确?

昨非 发表于 2020-11-1 23:16:15

nk54 发表于 2020-11-1 23:08
求闰年的,我这个代码不对,帮我完善行吗

代码没问题吧,问题不是else报错吗?

nk54 发表于 2020-11-1 23:20:38

昨非 发表于 2020-11-1 23:16
代码没问题吧,问题不是else报错吗?

代码是可以正常运行,但是我输入1988时,结果是闰年,因为1988%400!=0啊 ,怎么会是闰年呢,所以我才怀疑我的代码不完整

昨非 发表于 2020-11-1 23:22:45

nk54 发表于 2020-11-1 23:20
代码是可以正常运行,但是我输入1988时,结果是闰年,因为1988%400!=0啊 ,怎么会是闰年呢,所以我才怀 ...

你对闰年的定义理解不对,
1988是闰年,因为闰年为:

是4的倍数但不是100的倍数的年份
或者
是400的倍数的年份

昨非 发表于 2020-11-1 23:23:30

闰年是公历中的名词。闰年分为普通闰年和世纪闰年。
普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年(如2004年、2020年就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)。

nk54 发表于 2020-11-1 23:25:46

昨非 发表于 2020-11-1 23:23
闰年是公历中的名词。闰年分为普通闰年和世纪闰年。
普通闰年:公历年份是4的倍数的,且不是100的倍数,为 ...

我懂了,谢谢答主

昨非 发表于 2020-11-1 23:26:09

nk54 发表于 2020-11-1 23:25
我懂了,谢谢答主

记得给个最佳哈
页: [1]
查看完整版本: 错哪里了?