请补充fun函数 该函数的功能是:判断一个年份是否为闰年。 例如 1900年不是闰年 200
问题详情
请补充fun函数,该函数的功能是:判断一个年份是否为闰年。
例如,1900年不是闰年,2004是闰年。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]
include<stdio.h>
include<conio.h>
int fun(int n)
{
int fiag=0;
if(n%4==0)
{
if((1) )
fiag=1;
}
if((2) )flag=1;
return (3) ;
}
void main()
{
int year;
clrscr();
printf("Input the year:");
scanf("%d", &year);
if(fun(year))
printf("%d is a leap year.n", year);
else
printf("%d is not a leap year.n", year);
}请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:[1] n%100 !=0[2] n%400==0[3] flag
[1] n%100 !=0[2] n%400==0[3] flag 解析:题的关键是要知道闰年的定义,如果年份能被4整除但不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。
填空1:显然此处属于第一种情况,能被4整除但不能被100整除。所以这里应该填n%100!=0,只有满足这个条件,flag才能被赋值1。
填空2:此处属于第二种情况,能被400整除,所以应该填n%400==0。
填空3:从程序中可以知道,当满足以上两种情况之一时,flag就被赋值1,显然flag属于标志单元。再看主函数中对fun()函数的调用,显然需要返回的值不是真就是假,即函数fun()中标志单元flag的内容。