问答详情
源自:4-2 分支结构之简单if-else语句

为什么你们跟我的都不一样

#include <stdio.h>

int main() 

{

    int year = 2014; //今年是2014年

    if(year==2014)//补全一下代码

    {

        printf("今年是平年");

    }

    else

    {

        printf("今年是闰年");

    }

    

    

    

    

    return 0;

}

我这么写也通过了,可是为什么你们的我一个也看不懂啊。

提问者:海问香00 2018-12-09 18:40

个回答

  • 进宝
    2018-12-10 05:03:37
    已采纳

    首先我们省题,题目是要求我们判断2014是闰年还是平年;

    其次根据常识,我们可知:年份如果能被4整除的则是闰年,如果不能被4整除则是平年;

    所以代if-else结构应补充为:

    if(year%4==0)//代码意思为:year(2014)与4取模,余数是否为0

    //原代码已经定义过int year=2014; 了,且属于声明的同时且赋值的情况

    {

       printf("%s\n","今年是闰年");//余数为0则代表year能被整除

    }

    else

    {

       printf("%s\d","今年是平年");//反之,year则不能被整除

    }

    最后楼主代码虽也存在判断,但翻译过来就是:如果今年是2014年,那么今年是平年,如果不是,那么今年是闰年;

    其一是不符合我们基本的认知常识,存在逻辑错误;

    其次与题意不符,虽输出结果一直。

  • qq_慕码人5071900
    2018-12-15 18:28:47

    闰年不能整除400啊

  • 慕村1393011
    2018-12-09 19:40:01

    你这个没有判断啊
    直接在if()的括号里写year==2014。。。这样的意思是如果year是2014年,那么屏幕输出今年是平年。
    逻辑语法上没错,但是与题意不符。
    如何判断是否为闰年?
    1、能整除4且不能整除100

    2、能整除400
    这两个条件没有体现。