[c语言]年份有关问题汇总(关于平闰年判断引发的系列问题)
1.所需装备:
☀平闰年的定义:平年有365天,闰年有366天;
☀利用数学如何判断:
判断任意年份是否为闰年,需要满足以下条件中的任意一个:
① 该年份能被 4 整除同时不能被 100 整除;
② 该年份能被400整除。
由上述描述可以得到如下结论:定义一个年份a,让它完成上面的需求即可:理论存在,代码走起!!!
int a;
①a%4==0&&a%100!=0
②a%400==0
当然,你也可以把二者结合起来写 a%4==0&&a%100!=0||a%400==0
,也可以这样写a%400==0|| a%4= =0&&a%100!=0
,都是ok的,因为&&的优先级高于||的优先级那么接下来我们用题目来举例子,一步一步细挖平闰年会给我们带来那些c语言上面的问题吧?
2.具体操作,细节打怪!!!
☀其实在平闰年里面,核心就是1天之差,而这个1天之差就是2月份到底28天还是29天,所以解决这些问题无非就是在判断上下功夫,更直接点就是if,else里利用前面所提到的判断知识来判断到底是平年还是闰年,然后在通过平闰年来判读2月份的天数,最后根据题目要求完成代码就可以,此类题目最多的就是需求复杂以及判读会不会失误,需要在完成代码后进行具体验证,希望下面的例子对你有帮助哟!!!
①判断平闰年
先热个身,就是玩!!!
#include <stdio.h>
int main()
{
int year,a;
printf("请输人年份:\n");
scanf("%d",&year);
if(year%400==0||year%4==0&&year%100!=0)
a=1;
else
a=0;
if(a==1)
{
printf("%d年是闰年\n",year);
}
else
{
printf("%d年平年\n",year);
}
return 0;
}
运行结果:
②输入某年某月,打印出该年份的天数。
先判断平闰年,然后在判断出2月份是多少天;然后大小月份可以利用switch语句或者是建立两个数组来进行输入。
①利用switch语句来判断大小月份以及2月份天数,加上break语句就可以实现。
优点:一目了然,缺点:不适合代码块迁移。
#include <stdio.h>
int main()
{
int year,month,days;
printf("输入年月:\n");
scanf("%d,%d",&year,&month);
switch