首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填
admin
2018-09-27
48
问题
函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。
例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。
请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 int isleap(int year)
3 {int leap;
4 leap=(year%04==0&&year%100!=0|| year%400==0);
5 /**********found**********/
6 return__(1)__;
7 }
8 int fun(int year,int month,intday)
9 {int table[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
10 int days=0,i;
11 for(i=1;i<month;i++)
12 days=days+table
;
13 /**********found**********/
14 days=days+__(2)__;
15 if(isleap(year)&&month>2)
16 /**********found**********/
17 days=days+__(3)__;
18 return days;
19 }
20 main()
21 { int year r month r dayf days;
22 printf(’’请输入年、月、日:’’);
23 scanf(’’%d%d%d’’,&year,&month,&day);
24 days=fun(year,month,day);
25 printf(;;%d年%d月%d日是该年的第%d天\n;;,year,month,day,days);
26 }
选项
答案
(1)leap (2)day (3)1
解析
本题中函数fun的功能是根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回,其中,要考虑是否为闰年。这道问题其实很简单,唯一要考虑的变化因素也只有闰年这个变化,而且这个变化导致的程序变化也很简单。首先设置常规的月份天数,这需要一个数组(注意这个数组应该有13个数据,而不是12个,因为月份是从1月份开始的,而数组是从位置0开始的,所以这里应该将数组的第一个数据定义为0,后面12个数据按照常规月份来然后给出我们需要的月份和日数后进行常规统计),这是一般情况,如果是闰年的话且月份超过二月的话就加上1即可,应该这种情况特别给出一个判断函数就行了。
第一空:“return(1);p”这一空出现在isleap函数中,是为了判断我们给出的年份是否为闰年的函数,这里要填的为此函数的返回值。很明显地,这里的数据为leap,判断是否为闰年后,我们还需要返回leap是否是闰年。所以这一空应该填lea。第二空:“days=days+__(2)__;p”这一空出现在fun函数中,所填的是days的数据结果算式,days即为我们需要统计的天数。这里根据条件和函数的下一步,我们可以看出来这里的days统计是当年份不为闰年时的天数统计,而当年份不为闰年时,只要将给出的月份前面几个月份天数相加,再加上这个月的日期即为这个给出年月日在这一年中的天数,再根据上一步我们知道算式右边的days代表的即为本月前面月份的天数总和,所以这里只需要加上本月的日期就可以得到我们需要的一年中的第几天。所以这一空应该填的是给出的日期day。
第三空:“days=days+__(3)___;p”这一空出现在fun函数中,这里所填也是days的数据,但是我们可以看到这里的days是在判断完为闰年且月份大于2时进行的计算,所以这里的days算法不同于上一步days的算法。根据常识我们都可以知道,闰年大于2的月份是要比普通的年份多一个2月29号的,所以要比普通的日期天数多一天,所以这里应该加上1,所以这一空应该填的是1。
转载请注明原文地址:https://kaotiyun.com/show/gAxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是______。 main() { union { int i[2]; long j; char m[4]; }r,*s=&r; s->i[0]=0x409; s->i[1]=0x407; printf("%d\n",s->m[0]);
下面程序的功能是:计算1~10之间的奇数之和与偶数之和,请填空。#include<stdio.h>main(){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2){a
有以下程序:#include<string.h>structSTU{charname[10];intnum;};voidf(char*name,intnum){structSTU
软件的【】设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。
有以下程序:main(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}程序执行后的输出结果
定义结构体数组structStu{intnum;charname[20];}x[51={1,“ZHAO”,2,“QIAN”,3,“SUN”,4,“LEE”,5,“ZHOU”};for(i=1
有以下程序 main() {int x[3][2]={0},i; for(i=0;i<3;i++) scanf("%d",x[i]); printf("%3d%3d%3d\n",x[0]
以下关于函数的叙述中正确的是______。
已有定义:inti,a[10],*p;,则合法的赋值语句是
设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是()。
随机试题
有关月经周期中激素变化的叙述,错误的是
女性,32岁,因原发性血小板减少性紫癜,需输注血小板200ml,其正确的护理措施为
甲将一只壶的壶底落款“民圆叁年”磨去,放在自己的古玩店里出卖。某日,钱某看到这只壶,误以为是明代文物。甲见钱某询问,谎称此壶确为明代古董,钱某信以为真,按明代文物交款买走。又一日,顾客李某看上一幅标价很高的赝品,以为名家亲笔,但又心存怀疑。甲遂拿出虚假证据
按照现行规定,与金融资产有关的下列各项交易或事项,不影响当期营业利润的是()。
债务人或第三人不转移财产的占有,将该财产作为债权的担保而取得的贷款是()。
一、注意事项本题由给定资料与作答要求两部分构成。二、给定资料1.“误食地沟油怎么办?”2011年年底,百度搜索风云榜发布的年度“十大怎么办”中,这一问题名列第二。这并非一个网络玩笑,而是上亿人在网络背后对现实发出的尖锐质问。在食品领域、社会文
日本在江户时期主要为平民子弟提供的初等教育学校是()。
若网络的各个节点均连接到同一条通信线路上,且线路两端有防止信号反射的装置,这种拓扑结构称为()。
Becauseithasnodistinctandrecognizabletypographicalformandfewrecurringnarrativeconventions,thenovelis,ofalllit
Aperson’shomeisasmuchareflectionofhispersonalityastheclotheshewears,thefoodheeatsandthefriendswithwhomh
最新回复
(
0
)