鱼C论坛

 找回密码
 立即注册
查看: 2183|回复: 4

[已解决]我用swich语句做的一个判断闰年的小程序

[复制链接]
发表于 2018-1-18 12:22:57 | 显示全部楼层 |阅读模式

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

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

x
下面的year%100!=0 这句是网友提示我加上的,我想知道为什么 年份与100取模 需要是不等于0的值啊,不等于不就代表着有余数了吗,不能被100整除了才是闰年吗?

#include <stdio.h>
void main()
{
        int year, leap,n=1;
        printf("please input a year, eg.2000, I will help you ping or run\n");

        while (n<=5)

        {
                scanf("%d", &year);

                if (year%4==0 && year%100!=0 || year%400==0)   //year%4==0 && year%400==0
                {
                leap=1;                //leap变量没有重置,,,就是只要有一次是闰年,leap就永远是1,不管输什么都是闰年
                }
                else
                {
                leap=2;
                }

                switch (leap)  //switch后面的表达式  结果是一个boolean型,switch(boolean) 是不对的  (year%4==0 && year%400==0)
                {
                case 1:printf("这是一个闰年!\n"); break;
                case 2:printf("这是一个平年!\n"); break;
                }
        n++;

        }
}
最佳答案
2018-1-18 12:38:51
因为闰年是这样定义的:
1 能被4整除但是不能被100整除
2 能被400整除
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-18 12:38:51 | 显示全部楼层    本楼为最佳答案   
因为闰年是这样定义的:
1 能被4整除但是不能被100整除
2 能被400整除
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-18 17:20:08 | 显示全部楼层
顺带说声while循环有点多余
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-19 09:19:55 | 显示全部楼层
爱晴海 发表于 2018-1-18 17:20
顺带说声while循环有点多余

是有些多余,我就想每次能多试几个,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-19 09:22:46 | 显示全部楼层
BngThea 发表于 2018-1-18 12:38
因为闰年是这样定义的:
1 能被4整除但是不能被100整除
2 能被400整除

谢谢亲
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 17:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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