阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】某文本文件中保存了若干个日期数据,格式如下(年/月/日):2005/12/12013/2/291997/10/111980/5/15....但是其中有些日期是非法的,例如2013/2/29是非法日期,闰年(即能被400整除或者能被4整除而不能被100整除的年份)的2月份有29天,2013年不是闰年。现要求将其中自1985/1/1开始、至2010/12/31结束的合法日期挑选出来并输出。下面的C代码用于完成上述要求。【C代码】#include typedef struct{int year, month, day;/* 年,月,日*/}DATE; int isLeap Year(int y) /*判断y表示的年份是否为闰年,是则返回1,否则返回0*/{return((y%4==0 if(y2010 II m12 II d31) return 0;if((m==4 ll m==6 ll m==9 II m==11)If(m==2){if(isLeap Year(y) } Int Lteq(DATE d1,DATE d2)/*比较日期d1和d2,若d1在d2之前或相同则返回1,否则返回0*/{Long t1,t2;t1=d1.year*10000+d1.month*100+d1.day;t2=d2.year*10000+d2.month*100+d2.day;if((3)) return 1;else return 0;} int main(){DATE date,start={1985,1,1},end={2010,12,30};FILE*fp; fp=fopen(“d.txt”,”r”);If((4))return-1; while(!feof(fp)){if(fscanf(fp,”%d%d%d”,date.year,date.month,date.day)!=3)break;if((5)) /*判断是否为非法日期*/continue;if((6)) /*调用Lteq判断是否在起至日期之间*/printf(“%d%d%d\n”,date.year,date.month,date.day);}fclose(fp);Return 0;}

阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】某文本文件中保存了若干个日期数据,格式如下(年/月/日):2005/12/12013/2/291997/10/111980/5/15....但是其中有些日期是非法的,例如2013/2/29是非法日期,闰年(即能被400整除或者能被4整除而不能被100整除的年份)的2月份有29天,2013年不是闰年。现要求将其中自1985/1/1开始、至2010/12/31结束的合法日期挑选出来并输出。下面的C代码用于完成上述要求。【C代码】

#include typedef struct{int year, month, day;/* 年,月,日*/}DATE; int isLeap Year(int y) /*判断y表示的年份是否为闰年,是则返回1,否则返回0*/{return((y%4==0 && y%100!=0)Il(y%400==0));} int isLegal(DATE date) /*判断date表示的日期是否合法,是则返回1,否则返回0*/{int y=date.year,m=date.month,d=date.day;if(y<1985 II y>2010 II m<1 II m>12 II d31) return 0;if((m==4 ll m==6 ll m==9 II m==11)&&(1) ) return 0;If(m==2){if(isLeap Year(y) && (2)) return 1;elseif(d28) return 0;}return 1;} Int Lteq(DATE d1,DATE d2)/*比较日期d1和d2,若d1在d2之前或相同则返回1,否则返回0*/{Long t1,t2;t1=d1.year*10000+d1.month*100+d1.day;t2=d2.year*10000+d2.month*100+d2.day;if((3)) return 1;else return 0;} int main(){DATE date,start={1985,1,1},end={2010,12,30};FILE*fp; fp=fopen(“d.txt”,”r”);If((4))return-1; while(!feof(fp)){if(fscanf(fp,”%d%d%d”,date.year,date.month,date.day)!=3)break;if((5)) /*判断是否为非法日期*/continue;if((6)) /*调用Lteq判断是否在起至日期之间*/printf(“%d%d%d\n”,date.year,date.month,date.day);}fclose(fp);Return 0;}


参考解析

解析:(1)d>30 或d>=31或其等价表示(2)d<=29或d<30或其等价表示(3)t1<=t2或t1-t2<=0或其等价表示(4)fp==null或!fp或其等价表示(5)!isLegal(date) 或其等价表示(6)Lteq(start,date)==1&&Lteq(date,end)==1或其等价表示
【解析】

(1)(2)理解:if((m==4 ll m==6 llm==9 II m==11)&& d>30 /d>=31) return 0; //如果月份是4,6,9,11并且天数等于31则返回不合法,这几个月最多为30天,不可能大于等于31。If(m==2){ if(isLeap Year(y)&& d<=29 ) return 1;else if (d>28) return 0;//当年份为闰年的时候,那么二月份的天数需小于或等于28。合法则返回1。(3)if( t1<=t2/t1-t2<=0 ) return 1; //d1在d2之前,那么表明日期经换算成t1、t2后,t1<=t2。(4)If( fp==null/!fp )//先要判断文件是否为空;(5)(6)理解: if(!isLegal(date)) /*判断是否为非法日期 */ continue; if(Lteq(start,date)==1&&Lteq(date,end)==1 ) /*调用Lteq判断是否在起至日期之间,Lteq(t1,t2)的含义是比较日期d1和d2,若d1在d2之前或相同则返回1,否则返回0。*/

相关考题:

能被2整除的数叫做( ),不能被2整除的数叫做( )。

给定年份,下列程序用来判断该年是否为闰年,请填空。提示:闰年的条件是年份可以被4整除但不能被100整除,或者能被400整除。Private Sub Comand6_Click()Dim y As Integery=InputBox("请输入年份")If(y Mod 4=0______y Mod 100<>0)or(y Mod 400=0)ThenPrint"是闰年"ElsePrint"是普通年份"End IfEnd Sub

下面程序是判断某一个是否为闰年,请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。(闰年的条件是符合下面两者之一:①能被4整除,但不能被100整除;②能被4整除,又能被100整除)。注意:不改动程序的结构,不得增行或删行。import java.io.*;public class LeapYear{public static void main(String args[]){int year=1979;if((year %4= =0 || year % 100 !=0) || (year % 400= =0))System.out.println(year+"是闰年.");elseSystem.out.println(year+"不是闰年。");year=2000;boolean leap;if(year % 4 !=0)leap=false;else if(year % 100 !=0)leap=true;else if(year % 400 !=0)leap=false;elseleap=true;if(______)System.out.println(year+"是闰年。");elseSystem.out.println(year+"不是闰年。");year=2010;if(year % 4= =0){if(year % 100= =0){if(year % 400= =0)leap=true;else______}elseleap=false;}if(1eap= =true);System.out.println(year+"是闰年。");elseSystem.out.println(year+"不是闰年。");}}

阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。[说明]阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。(1)

输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)

阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]如图10-4所示是电子商务系统平台结构示意图。请把空缺的地方填写完整。

现有以下程序: Private Sub Command1 Click( ) c1=0 c2=0 For i=1 To 100 If i Mod 3=0 Then c1=c1+1 Else If i Mod 7=0 Then c2=c2+1 End If Next i Print c1+c2 End Sub 此程序运行后输出的是在1~100范围内( )。A.同时能被3和7整除的整数个数B.能被3或7整除的整数个数(同时被3和7整除的数只记一次)C.能被3整除,而不能被7整除的整数个数D.能被7整除,而不能被3整除的整数个数

阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明1】 函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 【C函数】 int isPrime (int n) { int k, t; if (n==2) return 1; if(n2|| (1) ) return 0; /* 小于2的数或大于2的偶数不是素数 */ t=(int)sqrt(n)+1; for (k=3; kt; k+=2) if ( (2) ) return 0; return 1; } 【说明2】 函数int minOne(int arr[], int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。 【C函数】 int minOne (int arr[], int k) { int t; assert (k0) ; if(k==1) return (3) ; t=minOne(arr+1, (4) ; if (arr[0]t) return arr[0]; return (5) ; }

阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】 某文本文件中保存了若干个日期数据,格式如下(年/月/日): 2005/12/1 2013/2/29 1997/10/11 1980/5/15 .... 但是其中有些日期是非法的,例如2013/2/29是非法日期,闰年(即能被400整除或者能被4整除而不能被100整除的年份)的2月份有29天,2013年不是闰年。现要求将其中自1985/1/1开始、至2010/12/31结束的合法日期挑选出来并输出。 下面的C代码用于完成上述要求。 【C代码】 include stdio.h typedef struct{ int year, month, day;/* 年,月,日*/ }DATE; int isLeap Year(int y) /*判断y表示的年份是否为闰年,是则返回1,否则返回0*/ { return((y%4==0 y%100!=0)Il(y%400==0)); } int isLegal(DATE date) /*判断date表示的日期是否合法,是则返回1,否则返回0*/ { int y=date.year,m= date.month,d=date.day; if (y1985 II y2010 II m1 II m12 II dl II d31) return 0; if((m==4 ll m==6 ll m==9 II m==11) (1) ) return 0; If(m==2){ if(isLeap Year(y) (2) ) return 1; 。 else if (d28) return 0; } return 1; } Int Lteq(DATE d1,DATE d2) /*比较日期d1和d2,若d1在d2之前或相同则返回1,否则返回0*/ { Long t1,t2; t1=d1.year*10000+d1.month*100+d1.day; t2=d2.year*10000+d2.month*100+d2.day; if( (3) ) return 1; else return 0; } int main() { DATE date,start={1985,1,1},end={2010,12,30}; FILE*fp; fp=fopen(d.txt,r); If( (4) ) return-1; while(!feof(fp)){ if(fscanf(fp,%d%d%d,date.year,date.month,date.day)!=3) break; if( (5) ) /*判断是否为非法日期 */ continue; if( (6) ) /*调用Lteq判断是否在起至日期之间*/ printf(%d%d%d\n,date.year,date.month,date.day); } fclose(fp); Return 0; }

阅读以下说明和 C 函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内。 【说明 1】 函数 f(double eps) 的功能是:利用公式计算并返回 的近似值。【说明 2】 函数fun(char *str)的功能是:自左至右顺序取出非空字符串 str中的数字字符,形成一个十进制整数(最多 8 位)。例如,若 str中的字符串为 iyt?67kp f3g8d5.j4ia2e3p12, 则函数返回值为 67385423。

现有以下程序:Private Sub Command1 Click( )c1=0c2=0For i=1 To 100If i Mod 3=0 Thenc1=c1+1Else If i Mod 7=0 Thenc2=c2+1End IfNext iPrint c1+c2End Sub此程序运行后输出的是在1~100范围内( )。A.同时能被3和7整除的整数个数B.能被3或7整除的整数个数(同时被3和7整除的数只记一次)C.能被3整除,而不能被7整除的整数个数D.能被7整除,而不能被3整除的整数个数

在1至100的自然数中,不能被2整除且不能被3整除且不能被5整除的数共有多少个?( ) A.23个 B.26个 C.27个 D.74个

阅读下列说明、c++代码和运行结果,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。【说明】很多依托扑克牌进行的游戏都要先洗牌。下面的c++程序运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。【c++代码】inciude <iostream>4Finclude <stdlib. h>include <ctime>inciude <aigorithm>include <string>Using namespace stdConst string Rank[13]={”A”,”2”,”3”,”4“,“5”,”6,”’“7”8“,9”,”10,”J”,”Q”,”K”}j//扑克牌点数

阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。【说明】很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。【Java代码】

阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明1]函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。[C函数] int isPrime(int n) { int k, t; if (n==2) return 1; if(n<2 || ______)return 0; /*小于2的数或大于2的偶数不是素数// t=(int)Sqrt(n)+1; for(k=3; k<t; k+=2) if(______) return 0; return 1; }[说明2]函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。[C函数]int minOne(int arr[],int k){int t;assert(k>0);if(k==1)return ______;t=minOne(arr+1,______);if(arr[0]<t)return amr[0];return ______;}

阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。【说明】函数GetDateId(DATEdate)的功能是计算并返回指定合法日期date是其所在年份的第几天。例如,date表示2008年1月25日时,函数的返回值为25,date表示2008年3月3日时,函数返回值为63。函数Kday—Date(inttheyear,intk)的功能是计算并返回指定合法年份theyear(theyear≥1900)的第k天(1≤k≤365)所对应的日期。例如,2008年的第60天是2008年2月29日,2009年的第60天是2009年3月1日。函数isLeapYear(inty)的功能是判断y代表的年份是否为闰年,是则返回1,否则返回0。DATE类型定义如下:

阅读以下C代码,回答问题1和问题2,将解答填入答题纸的对应栏内。【C代码1】【问题2】写出【代码2】的运行时的输出结果。

阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。【说明】某留言系统采用ASP+Access开发,其后台管理登录页面如图4-1所示。【问题1】(9分)以下是该后台管理登录页面login.asp的部分代码,请仔细阅读该段代码,根据图4-1 将(1)~(9)的空缺代码补齐。【问题2】(6分)1.在登录页面 login.asp 中通过导入了bbb.asp的代码,以下是bbb.asp的部分代码,请仔细阅读该段代码,将空缺代码补齐。

编写一个Java程序,对于给定的年份,回答“Leap Year”(闰年)或者“Not a Leap Year”(平年)。如果一个年份能被4整除,但是不能被100整除,它是闰年;如果一个年份能被100整除,也能被400整除,它也是闰年。需要定义名为LeapYear的服务提供类

何谓“双数”?双数就是()。A、能被2整除的整数B、个位上是0、2、4、6、8的整数C、正偶数,即能被2整除的正整数

将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式()。

闰年的条件是年号(year)能被4整除,但不能被100整除,或者能被400整除。则闰年的布尔表达式为()。A、(yearmod4=0andyearmod1000)and(yearmod400=0)B、(yearmod4=0andyearmod1000)or(yearmod400=0)C、(yearmod4=0oryearmod1000)and(yearmod400=0)D、(yearmod4=0oryearmod1000)or(yearmod400=0)

单选题判断年份是否为闰年,如果是,结果保存“闰年”,如果不是,则结果保存“平年”,说明:闰年定义:年数能被4整除而不能被100整除,或者能被400整除的年份。使用哪个函数?,()AIFBCOUNTFCRANKDCOUNTA

单选题与命题“能被6整除的整数,一定能被3整除“等价的命题是(  ).A能被3整除的整数,一定能被6整除B不能被3整除的整数,一定不能被6整除C不能被6整除的整数,一定不能被3整除D不能被6整除的整数,不一定能被3整除

单选题何谓“双数”?双数就是()。A能被2整除的整数B个位上是0、2、4、6、8的整数C正偶数,即能被2整除的正整数

单选题闰年的条件是年号(year)能被4整除,但不能被100整除,或者能被400整除。则闰年的布尔表达式为()。A(yearmod4=0andyearmod1000)and(yearmod400=0)B(yearmod4=0andyearmod1000)or(yearmod400=0)C(yearmod4=0oryearmod1000)and(yearmod400=0)D(yearmod4=0oryearmod1000)or(yearmod400=0)

问答题下列推理是什么类型的?写出它的推理形式,并说明其是否有效的理由。  (1)如果一部作品是优秀的,它一定如实反映了生活,这部作品如实反映了生活,所以,它是优秀的。  (2)只有能被2整除的数,才能被4整除,8是能被2整除的数,所以,8是能被4整除的数。  (3)一个结论假的演绎推理或是前提假或是推理形式无效,这个结论假的演绎推理是前提假的,所以,它不是推理形式无效的。