假如鱼鱼想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天?
这个题的难点在与闰年的二月时间判断,而且还要注意多组输入,因此得用while函数并且记着EOF(这可不是EMO),对于这个题我采取了两种方法,一种构建函数来得到二月的天数,一种是直接判断是否为闰年然后判断二月天数(闰年二月为29天,不是闰年是28天)
我也搜了关于闰年的判断
所以目标明确咱们就开始帮助鱼鱼解答问题!
1.构建函数
#include<stdio.h>
int Leap_year(int a)//判断是否为闰年
{
int m = 29;
int c = 28;
return (a % 400 == 0 || a % 4 == 0 && a % 100 != 0) ? m : c;
}
int main()
{
int a, b;
while (scanf_s("%d%d", &a, &b) != EOF)//多组输出
{
if (b == 4 || b == 6 || b == 9 || b == 11)
b = 30;
else if (b == 2)
b = Leap_year(a);
else b = 31;
printf("%d\n", b);
}
return 0;
}
2.不建立函数
#include <stdio.h>
int main()
{
int a, b;
while (scanf_s("%d%d", &a, &b) != EOF)//多组输出
{
if (b == 4 || b == 6 || b == 9 || b == 11)
b = 30;
else if (b == 2) {
int m = 29;
int c = 28;
b = (a % 400 == 0) || (a % 4 == 0 && a % 100 != 0) ? m : c;
}
else
b = 31;
printf("%d\n", b);
}
return 0;
}
这里关于闰年的判断我也应用了三目运算符来简化代码
最后我们多组运行他(第一个输入的是年份,后面是月份
没有问题,成功运行!