开始不知道闰年的条件
假设能被4整除的就是闰年
#include <stdio.h>
int main()
{
int year = 2014; //今年是2014年
//补全一下代码
year = year/4
if(year == 1)
{
printf("%s\n",'y');
}
else
{
printf("%s\n",'n');
}
return 0;
}
这段代码哪儿错了?没办法编译。
还有
#include <stdio.h>
int main()
{
int year = 2012; //今年是2014年
//补全一下代码
if(year%4)
{
printf("今年是平年");
}
else{
printf("今年是闰年");
}
return 0;
}
这段代码只取余4,也没有写出取余4之后的结果,也没有加那些%d\n,为什么也能得到正确结果
第一段 year = year/4// 这里没有加;所以不能编译
第二段
if(year%4)//year%4这个表达式的值为0,在C语言里就认为是假,执行else语句。相当于if(0)
我也是才学哒,不过可以帮你稍微解答一下。像你说的,你的第一段代码,你假设能被4整除的年份就是闰年,这个条件的意思是年份可以被4整除并且余数是0,所以判断条件应该是if(year%4==0),并且前面没必要再进行year=year/4因为这个是赋值语句(需要删除),你这样做会改变年份,其他代码正常。然后第二段代码,本来按你后面编排的语句if的判断语句应该是if(year%4!=0),但是你这样做的结果却是对的是因为,if()else的判断方式是如果“()”内的值是真(1)输出"今年是平年",若是假(0)输出"今年是闰年",然后year%4的值等于0是假,所以输出"今年是闰年"。
PS:闰年的判断方式不是简单的年份被4整除,而是if(year%4==0&&year%100!=0||year%400==0)