问答题 基本操作 函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数 isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include int isleap(int year) { int leap; leap= (year%4==0 && year%100!=0 || year%400==0); /**********found**********/ 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; i2 ) /**********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:1 如果是闰年并且累加月份大于2月,需要多加1天.。