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

admin2016-04-07  37

问题 函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数is leap用来判别某一年是否为闰年。
    例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。
    请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
    注意:源程序存放在考生文件夹下的BLANK1.C中。
    不得增行或删行,也不得更改程序的结构!
    试题程序:
    #include
    int isleap(int year)
    {int leap;
    leap=(year%4=0 && year%100 1=0 || year%400=0);
    /**********found**********/
    return【1】;
    }
    int fun(int year,int month,int clay)
    {int table[13]={0,31,28,31,30,31,30,31,3l,30,31,30,31};
    int days=0,i;
    for(i=1;i    days=days+table
    /**********found**********/
    days=days+【2】;
    if(isleap(year)&&month>2)
    /**********found**********/
    days=days+【3】;
    retum 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:days前面累加了平年整月份的天数,还需要加上最后一个月包含的日的天数。
    填空3:1如果是闰年并且累加月份大于2月,需要多加1天。
转载请注明原文地址:https://kaotiyun.com/show/v3Dp777K
0

最新回复(0)