文章目录
- 问题描述
- 一、关键思路
- 二、代码
- 1.读入数据
- 2.输出数据
- 3.完整代码
- 总结
问题描述
我想要通过代码实现,求得某年某月有多少天。
输入:年份和月份
输出:相对应的天数
一、关键思路
1、定义整型变量year,month
2、闰年和平年如何区分?
判断闰年的方法:年份除以4余数为零且年份除以100余数不为零,或年份除以400余数为零
3、不同的月份有不同的天数,如何处理?
不同月份的处理方法:用条件语句判断,满足则输出,不满足则继续。
在这里教大家一个判断大小月的口诀:
一三五七八十腊,三十一天永不差;
四六九冬是小月,小月永远三十天
二、代码
1.读入数据
代码如下:
int year,month;
while(scanf("%d %d",&year,&month)!=EOF)//实现多组输入
2.输出数据
代码如下:
if(......)
printf(...);
else if(......)
printf(...);
3.完整代码
#include ""
int main()
{
int year,month;
while(scanf("%d %d",&year,&month)!=EOF)
{
if((year%4==0)&&(year%100!=0)||(year%400==0))
/*判断闰年的方法:年份除以4余数为零且年份除以100余数不为零,或年份除以400余数为零*/
{
if (month==2)
printf("29\n");
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
printf("31\n");
if(month==4||month==6||month==9||month==11)
printf("30\n");
}
else
{
if (month==2)
printf("28\n");
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
printf("31\n");
if(month==4||month==6||month==9||month==11)
printf("30\n");
}
}
return 0;
}
总结
本章介绍了,输入年份月份求天数的代码实现。其中,闰年的判断方法尤为重要,是本次代码实现的关键部分,了解了闰年的求解办法之后,举一反三,思考如何用代码实现输出1900年到2020年所有的闰年,输出1900~2020年中的所有闰年将在下一次博客中介绍。