函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下画线处填入正确的内容,并

admin2019-04-14  19

问题 函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。
例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。
请在程序的下画线处填入正确的内容,并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int isleap(int year)
{
int leap;
leap=(year%4= =0&&year%100!=0||year%400= =0);
return ____1____;
}
int fun(int year,int month,int day)
{
int table[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int days=0,i:
for(i=1;i<month;i+ +)
days=days+table
/* * * * * * found * * * * * */
days=days+____2____;
if(isleap(year)&&month>2)
/* * * * * * found * * * * * */
days=days+____3____;
return days;
}
main( )
{
int year,month,day,days;
printf(″请输入年、月、日:″);
scanf(″%d%d%d″,year,&month,&day);
days=fun(year,month,day);
printf(″%d年%d月%d日是该年的第%d天\n″,year,month,day,days);
}

选项

答案(1)leap (2)day (3)1

解析 本题考查:对循环结构的理解和掌握。
填空1:leap isleap()函数判断是否是闰年,由于初始化2月为28天,但是闰年是29,所以闰年要多加1天,isleap()应该返回0或者1,leap的表达式为逻辑运算,得到的结果刚好是0或1。
填空2:day前面累加了平年月份的天数,还需要加上日的天数。
填空3:如果是闰年并且累加月份大于2月,需要多加1天。
转载请注明原文地址:https://kaotiyun.com/show/P1Rp777K
0

最新回复(0)