题目详情:
6-1 调用函数打印闰年 (15 分)
用户输入两个年份值(m,n),输入一定满足999<m<n<5001。请编写两个函数计算m,n之间所有的闰年(包含m,n年)并输出。 务必注意:在代码编写框,只需要写你要编写的两个函数,不要写多余的代码。
函数接口定义:
//在rangeyear函数中调用此函数判断是否是闰年
int leapyear(int year);
//此函数接收主函数传的年份范围,并调用leapyear函数判读是否是闰年,并打印闰年
void rangeyear(int a,int b);
其中 a
和 b
都是用户传入的参数。 a
的值一定小于b
; year
是用户传入的年份,根据它是否是闰年返回不同的值。
裁判测试程序样例:
#include <stdio.h>
//在rangeyear函数中调用此函数判断是否是闰年
int leapyear(int year);
//此函数接收主函数传的年份范围,并调用leapyear函数判读是否是闰年,并打印闰年
void rangeyear(int a,int b);
//不得修改下面的代码
int main()
{
int m,n;
scanf("%d%d" ,&m,&n);
rangeyear(m,n); //打印m到n之间的闰年,包含边界
return 0;
}
/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
2000 2012
输出样例:
在这里给出相应的输出。例如:
2000
2004
2008
2012
答案代码:
//调用此函数判断是否是闰年
int leapyear(int year)
{
if(((year%4==0)&&(year%100!=0))||(year%400==0))
{
return 1;
}
else
return 0;
}
//此函数接收主函数传的年份范围,并调用函数判读是否是闰年,打印闰年
void rangeyear(int a,int b)
{
int year;
for(year=a;year<=b;year++)
{
if(leapyear(year)==1)
printf("%d\n",year);
}
}