目前主要分为三个专栏,后续还会添加:
感谢阅读!
初来乍到,如有错误请指出,感谢!
描述
KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。
输入描述:
多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。
输出描述:
针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。
思路 :
要知道 如何判断闰年和平年
闰年的2月有29天
其他的都是28天
只要这样判断就可以了
首先要清楚月份天数的分类
闰年判断的两种条件:
1. 能被400整除
2. 能被4整除不能被100整除
每年的4,6,9,11月的天数都是30天
每年的1,3,5,7,8,10,12月都是31天
然后计算2月的天数
2月的天数有两种,闰年为29天,非闰年28天
判断是否为闰年的标准:
(四年一闰&&百年不闰)||四百年一闰
- 平年二月有28天,闰年二月有29天。
- 一月、三月、五月、七月、八月、十月和十二月(大月)有31天。
- 四月、六月、九月和十一月(小月)有30天。
代码 1 :
# include <stdio.h>
int main ()
// 闰年判断的两种条件:1. 能被400整除 2. 能被4整除不能被100整除
/*
首先要清楚月份天数的分类
每年的4,6,9,11月的天数都是30天
每年的1,3,5,7,8,10,12月都是31天
然后计算2月的天数
2月的天数有两种,闰年为29天,非闰年28天
判断是否为闰年的标准:
(四年一闰&&百年不闰)||四百年一闰
*/
{
int year,month;
while (scanf("%d %d",&year,&month)!=EOF)
{
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31\n");
break;
case 4:
case 6:
case 9:
case 11:
printf("30\n");
break;
case 2: //嵌套循环要考虑清楚 用户先输入然后再用if判断
if (year%400==0||year%4==0&&year%100!=0)
{
printf("29\n");
}
else
{
printf("28\n");
}
break;
}
}
return 0;
}
代码 2 :
#include <stdio.h>
/*闰年366天,平年365天。一年十二月,除了二月,闰年(年份除以4得整数)29天,
非闰年28天,其他月份天数固定 一月 固定 31天 二月 固定 (闰年29天,非闰年28天)
三月 固定 31天 四月 固定 30天 五月 固定 31天 六月 固定 30天 七月 固定 31天
八月 固定
31天 九月 固定 30天 十月 固定 31天 十一月 固定 30天 十二月 固定 31天 第一
季度(一月、
二月、三月)
闰年91天,非闰年90天 第二季度(四月、五月、六月)固定91天
第三季度(七月、八月、九月)固定92天 第四季度(十月、十一月、十二月)固定92天*/
void tian(int year, int mon)
//定义一个计算天数的函数
{
int arr[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
//闰年月份天数
int brr[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
//平年月份天数
int riqi = 0;
//输出的天数
if (year % 4 == 0)
//如果年份取余4等于0,即为闰年,执行下面的语句
{
riqi = arr[mon - 1];
printf("%d\n", riqi);
}
else
//如果不是闰年,执行下面的语句
{
riqi = brr[mon - 1];
printf("%d\n", riqi);
}
}
int main()
{
int a, b;
while ((scanf("%d%d", &a, &b)) != EOF)
//当正常输入年份和月份时,进入循环
{
tian(a, b);
//调用计算天数的函数,计算并输出月份的天数
}
return 0;
}
知识点:
输入处理:能够读取用户输入的年份和月份。
条件判断:使用条件语句来判断月份和年份是否为闰年。
闰年规则:
年份能被4整除且不能被100整除,或者能被400整除,是闰年。
其他情况下,年份是平年。
月份天数规则:
平年二月有28天,闰年二月有29天。
1、3、5、7、8、10、12月(大月)有31天。
4、6、9、11月(小月)有30天。
循环处理:能够处理多组输入直到输入结束。
输出格式:按照题目要求的格式输出结果,通常是一行一个整数。