鱼C论坛

 找回密码
 立即注册
查看: 1569|回复: 3

[已解决]哪里错了

[复制链接]
发表于 2021-11-12 14:33:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目描述
写一程序判断某一年是否是闰年。

输入要求
输入一个整数表示年份

输出要求
判断该年份是否为闰年,如果不是就输出no ,是就输出yes

输入样例
2000

输出样例
yes


提示
判断闰年的条件是:能被4整除但不能被100整除,或者能被400整除。
#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d",&a);
b=a%4;
c=a%100;
d=a%400;
if(b=0&&c!=0)
printf("yes\n");
else if(d=0)
printf("yes\n");
else if(c>0)
printf("no\n");
return 0;
}
最佳答案
2021-11-12 21:18:40
从图中可以发现,可以除整 400 的数字肯定可以除整 100,可以除整 100 的数字肯定可以除整 4
理论上如图,A 包着 B 包着 C(设 A: 除整 4,B: 除整 100,C: 除整 400)
而不要的只是除整 100 的部分

注:这里有条件优先级,除整 4 > 除整 400 > 不要除整 100,意思就是就算能除整 100,只要也能除整 400 都算是闰年(因为能除整 400 条件 比 不能除整 100 优先)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-12 14:40:55 | 显示全部楼层
判断是否相等要用两个等号
#include <stdio.h>

int main() {
    int a, b, c, d;
    scanf("%d", &a);
    b = a % 4;
    c = a % 100;
    d = a % 400;
    if (b == 0 && c != 0)
        printf("yes\n");
    else if (d == 0)
        printf("yes\n");
    else if (c > 0)
        printf("no\n");
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-12 21:03:20 | 显示全部楼层
感谢让我复习习题
#include <stdio.h>

int main()
{
    int year;
    scanf("%d", &year);
    printf(!(year%4) && (!(year%400) || year%100) ? "YES" : "NO");
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-12 21:18:40 | 显示全部楼层    本楼为最佳答案   
从图中可以发现,可以除整 400 的数字肯定可以除整 100,可以除整 100 的数字肯定可以除整 4
理论上如图,A 包着 B 包着 C(设 A: 除整 4,B: 除整 100,C: 除整 400)
而不要的只是除整 100 的部分

注:这里有条件优先级,除整 4 > 除整 400 > 不要除整 100,意思就是就算能除整 100,只要也能除整 400 都算是闰年(因为能除整 400 条件 比 不能除整 100 优先)
图解.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 23:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表