计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
程序员(初级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
程序员应用技术
程序员基础知识
程序员应用技术
填空题阅读以下函数说明和C语言函数,将应填入 (n) 的字句写在答题纸的对应栏内。 [说明1] 函数int fun1(int m, int n)的功能是:计算并返回正整数m和n的最大公约数。 [函数1] int fun1(int m, int n) while ( (1) ) if (m>n) m=m-n; else n=n-m; (2) ; [说明2] 函数long fun2(char*str)的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。 例如,若字符串str的值为“f3g8d5.ji2e3p12fkp”,则函数返回值为3852312。 [函数2] long fun2(char *str) int i=0; long k=0; char *p=str; while (*p!='\0' ++i; (5) ; return k;
进入题库练习
填空题[说明] 假设银行整存整取存款不同期限的月息利率分别为:0.63%(1年),0.66%(2年),0.69%(3年),0.75%(5年),0.84%(8年),其中,利息=本金*月息利率*12*存款年限。 现在某人手中有2000元钱,请通过计算选择一种存钱方案,使得钱存入银行20年后得到的利息最多(假定银行对超过存款期限的那一部分时间不付利息)。 设2000元存20年,其中1年存i1次,2年存i2次,以此类推,则到期时存款人应得到的本利合计为: 2000*(1+rate1)i1*(1+rate2)i2*(l+rate3)i3*(l+rate5)i5*(l+rate8)i8 其中,rateN为对应存款年限的利率。年限还有如下限制条件: 0≤i8≤2 0≤i5≤(20-8*i8)/5 0≤13≤(20-8*i8-5*i5)/3 0≤i2≤(20-8*i8-5*i5-3*i3)/2 0≤i1=20-8*i8-5*i5-3*i3-2*i2 用穷举法穷举出所有的i8、i5、i3、i2、i1,代入求本利的公式计算出最大值。 [函数] #include<stdio.h> #include<math. h> void main() int i8, i5, i3, i2, i1, n8, n5, n3, n2, n1; float max=0, term; clrscr(); for (i8=0;i8<3;i8++) /*穷举所有可能的存款方式*/ for (i5=0; i5<= (20-8*i8)/5;i5++) for (i3=0; (1) ; i3++) for (i2=0; (2) ; i2++) i1=20-8 *18-5 *i5-3 *i3-2 *12: (3) ; /*计算到期时的本利合计*/ if( (4) ) (5) ; n1=i1; n2 =i2; n3 =i3; n5=i5; n8 =i8; printf("For maxinum profit, he should so save his money in a bank:/n"); printf(" made fixed deposit for 8 year: %d times /n",n8); printf(" made fixed deposit for 5 year: %d times/n",n5); printf(" made fixed deposit for 3 year: %d times/n",n3); printf(" made fixed deposit for 2 year: %d times/n",n2); printf(" made fixed deposit for 1 year: %d timesYn",n1); printf(" Toa1: %.2f/n", max); /*输出存款方式*/ puts ("/n Press any key to quit...”); getch();
进入题库练习
填空题[说明]已知递推数列:a(1)=1,a(2s)=a(s),a(2s+1)=a(s)+a(s+1)(s为正整数)。试求该数列的第n项与前n项中哪些项最大?最大值为多少?算法分析:该数列序号分为奇数或偶数两种情况做不同递推,所得数列呈大小有规律的摆动。设置a数组,赋初值a(1)=1。根据递推式,在循环中分项序号s(2~n)为奇数或偶数作不同递推:每得一项a(s),即与最大值max作比较,如果a(s)>max,则max=a(i)。最后,在所有项中搜索最大项(因最大项可能多于一项),并打印最大值max。[问题]将流程图中的(1)~(5)处补充完整。注:流程图中(1)循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。[流程图]
进入题库练习
填空题[说明] 编写一个Applet程序,接受HTML文件传递的整数参数,根据该参数指定Applet中文本框的长度。编写对应的HTML文件运行这个Applet。[Java 代码]import java. applet.*;import java. awt.*;public class chuangdics extends (1) TextField tf=new TextField (); int tfLength=0; public void init() try tfLength=Integer. parseInt( (2) ("length")); tf. setColumns (tfLength); add (tf); catch (NumberFormatException nfe) tf. (3) ("HTML 文件传人的参数格式错误。"); add(tf); [HTML 代码]<html><head> <title> (4) </title></head><body> <hr><applet code=chuangdics width=700 height=150><param name=length value=20> (5) <hr></body></htmI>
进入题库练习
填空题[说明] 编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。 [Java 代码] import java. io.* ; public class abc public static void main ( (1) ) int i, n=10, max=0, min=0, temp=0; try BufferedReader br = new BufferedReader ( new InputStreamReader ( System.in ) ); max = min =Integer. parselnt ( br. readLine ( ) ); . (2) ( IOExccption e ) ; for ( i=2 ; i<=n ; i++ ) try BufferedReader br = new (3) ( new InputStreamReader ( System. in ) ); temp = (4) ( br. readLine ( )); if (temp>max ) max=temp; if (temp<min) (5) catch (IOException e ) ; System.out.println ( "max="+max+"/nmin="+min );
进入题库练习
填空题[说明]下面的流程图,用来完成求字符串t在s中最右边出现的位置。其思路是:做一个循环,以s的每一位作为字符串的开头和t比较,如果两字符串的首字母是相同的,则继续比下去,如果一直到t的最后一个字符也相同,则说明在s中找到了一个字符串t;如果还没比较到t的最后一个字符,就已经出现字符串不等的情况,则放弃此次比较,开始新一轮的比较。当在s中找到一个字符串t时,不应停止寻找(因为要求的是求t在s中最右边出现位置),应先记录这个位置pos,然后开始新一轮的寻找,若还存在相同的字符串,则更新位置的记录,直到循环结束,输出最近一次保存的位置。如果s为空或不包含t,则返回-1。注:返回值用pos表示。[问题]将流程图的(1)~(5)处补充完整。
进入题库练习
填空题[函数2.1说明] 将一个正整数分解质因数。例如:输入90,打印出90=2×3×3×5。 [函数2.1] fun 1 ( int n ) int i; for ( i=2;i<=n; i++) while (( (1) ) if (n %i==0 ) printf ( "%d*",i ); (2) else break; printf ( "%d",n ) ; [函数2.2说明] 下面程序的功能是:海滩上有一堆桃子,5只猴子来分。第1只猴子把这堆桃子平均分为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第2只猴子把剩下的桃子又平均分成5份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第3、第4、第5只猴子都是这样做的,问海滩上原来最少有多少个桃子? [函数2.2] main ( ) int i, m, j, k, count; for ( i=4;i<10000;i+=4 ) count=0; (3) ; for ( k=0;k<5;k++ ) (4) ; i=j; if ( j%4==0 ) (5) ; else break; i=m; if ( count==4 ) printf ( "%d/n", count) ; break;
进入题库练习
填空题阅读以下说明和C++程序,将应填入 (n) 处的字句写在对应栏内。 [说明] 下面程序输出一个矩形面积,以及矩形区域上的假想的作物产量。 [C++程序] #include <iostream.h> class crop_assessment int actual_crop; int ideal_crop; public: void set(int in_actual,int in_ideal) actual crop=in_actual; ideal_crop=in_ideal; int get_actual_crop(void) (1) ; int get_ideal_crop(void) (2) ;) ; Class lot_size int length; int width; (3) crop; public: void set(int 1,int w,int a,int i) length=1; width=w; crop.set(a,i); int get_area(void)return length*width; int get_data(void)return (4) ; int get_data2(void)freturn (5) ; int main() Los_size small,medium; small.set(5,5,5,25); medium.set(10,10,10,50); cout<<"For a small lot of area"<<smallget_area()<<“/n”; cout<<"the actual crops are$"<<small.get_data2()<<"/n"; cout<<"and ideal crops are$”<<small.get_data()<<"/n"; cout<<"For a medium Lot of area"<<medium.get area()<<:/n”; cout<<"the actual crops are$"<<medium.get_data2()<<"/n"; cout<<"and ideal crops are$"<<medium.get_data()<<"/n"; return 0;
进入题库练习
填空题【说明】 本题给出四个函数,它们的功能分别是: 1.int push(PNODE*top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。 2.int pop(PNODE*top,int*e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。 3.int enQueue(PNODE*tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。 4.int deQueue(PNODE*tail,int*e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。 以上四个函数中,返回值为。表示操作成功,返回值为-1表示操作失败。 栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为: typedef struct node { int value; struct node * next; } NODE, * PNODE; 【函数1】 int push(PNOOE * top,int e) { PNODE p = (PNODE) malloc (sizeof (NODE)); if (! p) return-1; p->value=e; {{U}} (1) {{/U}};. *top=p; return 0; } 【函数2】 int pop (PNODE * top,int * e) { PNODE p = * top; if(p == NULL) return-1; * e = p->value;  {{U}} (2) {{/U}}; free(p); return 0; } 【函数3】 int enQueue (PNODE * tail,int e) { PNODE p,t; t= *tail; p = (PNODE) malloc(sizeof(NODE)); if(!p) return-1; p->value=e; p->next=t->next; {{U}}(3) {{/U}}; * tail = p; return 0; } 【函数4】 int deQueue(PNODE * tail,int * e) { PNODE p,q; if(( * tail)->next == * tail) return-1; p= (* tail)->next; q = p ->next;   * e =q ->value; {{U}} (4) {{/U}}=q->next; if(,tail==q){{U}} (5) {{/U}}; free(q); return 0; }
进入题库练习
填空题阅读以下函数说明和C语言函数,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内。 [说明1] 函数int factors(int n)的功能是判断整数n(n>=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。 所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如:28的因子为1,2,4,7,14,而28=1+2+4+7+14,因此28是“完全数”。 [C函数1] int factors(int n) { int i,S; for(i=l,s=0;i<=n/2;i++) if(n%i==O) {{U}}(1) {{/U}}; if({{U}} (2) {{/U}})return 0; rerurn -1; } [说明2] 函数int maxint(int a[],int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。 [C函数2] int maxint(int a[],int k) { int t; if({{U}} (3) {{/U}})return {{U}}(4) {{/U}}; t=maxint(a+1, {{U}}(5) {{/U}})j return(a[0]t) ? a[0] :t; }
进入题库练习
填空题【说明】该应用程序是用来求一元二次方程和一元一次方程的,其运行如图2所示。当用户在对应方程系数的文本框(txt1、txt2和txt3)中输入数值后,单击“解方程”按钮(cmdcalculate),解方程并将解显示在Ⅺ和K2对应的文本框中(txt4和txt5)中。若是一个一元一次方程,只显示在X1对应的文本框中,若无解则弹出对话框。下面的代码是“解方程”按钮的Click事件的代码。【程序代码】PrivateSub{{U}}(1){{/U}}()a=Val(Txt1.Text):b=Val(Txt2.Text);c=Val(Txt3.Text)Ifa=0ThenIfb=0ThenMsgBox"方程无解!",vbOKOnly,"提示"Txt4.Text=""Txt5.Text=""ElseTxt4.Text={{U}}(2){{/U}}Txt5.Text=""EndIfElsedelta={{U}}(3){{/U}}If{{U}}(4){{/U}}ThenMsgBox"方程无解!",vbOKOnly,"提示"Txt4.Text=""Txt5.Text=""ElseTxt4.Text=Str$(((-1)*b+Sqr(delta))/(2*a))Txt5.Text={{U}}(5){{/U}}EndIfEndIfEndSub
进入题库练习
填空题[说明]下面的流程图用来说明如何在数组中的指定位置插入一个数。注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述;SIZE定义位数组的大小。[问题]将流程图的(1)~(5)处补充完整。
进入题库练习
填空题【说明4.1】 假设两个队列共享一个循环向量空间(如图1-2所示),其类型Queue2定义如下: typedef struct { DateType data [MaxSize]; int front[2],rear[2]; }Queue2; 对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数.EnQueue (Queue2*Q,int i,DaleType x)的功能是实现第i个队列的入队操作。 【函数4.1】 int EnQueue(Queue2 * Q, int i, DateType x) { /*若第i个队列不满,则元素x入队列,并返回1;否则,返回0*/ if(i<0‖i>1) return 0; if(Q->rear[i]==Q->front[{{U}} (1) {{/U}}] return 0; Q->data[{{U}} (2) {{/U}}]=x; Q->rear[i]=[{{U}} (3) {{/U}}]; return 1; } 【说明4.2】 函数BTreeEqual(BinTreeNode*T1,BinTtneNode*T2)的功能是递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同,并且对应结点的值也相同时,才被认为相等。 已知二叉树中的结点类型BinTreeNode定义为: struct BinTreeNode { char data; BinTreeNode * left, * right; }; 其中dau为结点值域,leR和risht分别为指向左、右子女结点的指针域, 【函数4.2】 int BTreeEqual(BinTreeNode * T1, BinTreeNode * T2) { if(Ti == NULL /*若一棵为空一棵不为空,则不等*/ else if({{U}} (5) {{/U}}) return 1; /*若根结点值相等并且左、右子树*/ /*也相等,则两棵树相等,否则不等*/ else return 0; }
进入题库练习
填空题【说明】 在窗体上画一个名称为Combo1的组合框,画两个名称分别Labe11、Labe12及Caption属性分别为“城市名称”和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键 (ASCII码为13)时,如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中,并在Labe12中给出提示“已成功添加输入项”;如果存在,则在Labe12中给出提示“输入项已在组合框中”。 【程序】 Private Sub Combo1{{U}} (1) {{/U}}(KeyAscii As Integer) If KeyAscii={{U}} (2) {{/U}}Then For i=0 To{{U}} (3) {{/U}} If Combo1. Text={{U}} (4) {{/U}}Then Labe12. Caption ="输入项已在组合框中" Exit Sub End If Next i Label2. Caption ="已成功添加输入项" Combo1.{{U}} (5) {{/U}}Combo1.Text End If End Sub
进入题库练习
填空题【说明】在窗体上设计两个文本框和两个标签,标签上显示:“摄氏温度:”和“华氏温度:”,文本框一个用于输入摄氏温度数,一个用于输出对应的华氏温度。摄氏温度与华氏温度的转换公式为:c=(5/9)×(f-32)要求:对输入的摄氏温度数有检查功能,以拒绝接收非数字字符。运行界面如图所示。【VisualBasic代码】PrivateSubCommandl_Click()Text1=""Text2=""Text1.Enabled=TrueText2.Enabled=TrueText1.SetFocusEndSubPrivateSubCommand2Click()EndEndSubPrivateSubFormLoad()Text1=""Text2=""Text1.Enabled=FalseText2.Enabled=FalseEndSubPrivateSubTextl_Change()Text2.Text=(1)EndSubPrivateSubTextl_KeyPress(KeyAsciiAs(2))If(3)ThenIfChr(KeyAscii)<"0"Or(4)Then(5)EndIfEndIfEndSub
进入题库练习
填空题[说明] 求树的宽度,所谓宽度是指在二叉树的各层上,具有结点数最多的那一层的结点总数。本算法是按层次遍历二叉树,采用一个队列q,让根结点入队列,若有左右子树,则左右子树根结点入队列,如此反复,直到队列为空。 [函数] int Width ( BinTree *T { int front=-1, rear=-1; /*队列初始化*/ int flag=0, count=0, p; /*p用于指向树中层的最右边的结点, flag 记录层中结点数的最大值*/ if ( T!=Null) { rear++; {{U}} (1) {{/U}}; flag=1; p=rear; } while ({{U}} (2) {{/U}}) { front++; T=q [front]]; if (T->lchild!=Null ) { roar+-+; {{U}} (3) {{/U}}; count++; } if ( T->rchild!=Null ) { rear++; q[rear]=T->rchild; {{U}} (4) {{/U}}; } if (front==p ) // 当前层已遍历完毕 { if({{U}} (5) {{/U}}) flag=count; count=0; p=rear, //p 指向下一层最右边的结点 } } return ( flag ); }
进入题库练习
填空题【说明】 设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。 在Date类中设计如下重载运算符函数: Date operator + (int days) : 返回某日期加上天数得到的日期。 Date operator - (int days) : 返回某日期减去天数得到的日期。 int operator - (Date //day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date int year, month, day //年,月,日 int leap(int); //判断是否闰年 int dton(Date month = m; day = d; void setday(intd)day = d; void setmonth(int m) month = m; void setyear(int y) year =y; int getday() return day; int getmonth() return month: int getyear() return yea; Date operator + (int days) //+运算符重载函数 static Date date; int number = (1) date = ntod(number) return date Date operator - (int days) //-运算符重载函数 staffs Date date; int number= (2) ; number - = days; date = ntod(number) return date; int operator - (Date return days; void disp() cout<<year<<"."<<month<<". "<<day<<endl; ; int Date: :leap( int year) if( (4) ) //是闰年 return 1; //不是闰年 else return0: int Date:: dton( Date for(y=1;y<=d. year;y++) if( (5) )days+ =366; //闰年时加366天 else days + = 365; //非闰年时加365天 for(m =0;m<d. month-1;m++) if( (6) ) days += day_tab[1] [m]; else days +=day_tab[0] [m]; days + = d. day; return days; Date Date::ntod(intn) //将从元0年0月0日的天数转换成日期 int y=1,m = 1,d,rest = n,lp; while(1) if(leap(y)) if(rest<= 366) break; else rest - = 366; else //非闰年 if(rest = 365 ) break; else rest-=365; y++; y--; Ip = leap(y); while(1) if(lp) //闰年 if(rest>day_tab[1] [m - 1]) rest -= day_tab[1] [m-1]; else break; else //非闰 if(rest>day_tab[0] [m -1]) rest -= day_tab[0] [m-1]; else break; m++; d = rest; return Date(y;m,d); void main() Date now(2003,10,1) ,then(2005,6,5); cout<<" now:";now. disp(); cout<<" then:";then. disp(); cout<<"相差天数:"<<(then-now)<<endl; Date dl = now + 1000,d2 = now - 1000; cout<<"now + 1000:" ;d1. disp(); cout<<" now - 1000:" :d2. disp();
进入题库练习
填空题[程序5.1说明] 下列程序运行时,当单击窗体后,从键盘输入一个字符,判断该字符是字母字符、数字字符还是其他字符,并做相应的显示。窗体上无任何控件,并禁用Ase和Chr函数,Select Case语句中禁用枚举值。[Visual Basic代码]Private Sub Form Load ()Dim x As String*1X= (1) (“请输入单个字符”,“字符”)Select Case UCase ( (2) )Case (3) 。Print X+“是字母字符”Case (4) Print X+ “是数字字符”Case ElsePrint X+“是其他字符”End Select[程序5.2说明] 在窗体上画一个名称为Timer1的计时器和一个名称为Labe11的标签。当运行程序后,将在标签中显示当前时间的数字时钟(包括时:分:秒)。[Visual Basic代码]Private Sub Fom_Load ()Timer1.Interval=1000EndSubPrivate Sub Timer1_ timer() (5) EndSub
进入题库练习
填空题[流程图说明]下列流程图用于从数组K中找出一切满足:K(I)+K(J)=M的元素对(K(I),K(J))(1≤I≤J≤N)。假定数组K中的N个不同的整数已按由小到大的顺序排列,M是给定的常数。[流程图]此流程图中,比较“K(I)+K(J):M”最少执行次数约为(5)。
进入题库练习
填空题【流程图说明】下面的流程(如图1所示)用N-S盒图形式描述了在一棵二叉树排序中查找元素的过程,节点有3个成员:data,left和right。其查找的方法是:首先与树的根节点的元素值进行比较:若相等则找到,返回此结点的地址;若要查找的元素小于根节点的元素值,则指针指向此结点的左子树,继续查找;若要查找的元素大于根节点的元素值,则指针指向此结点的右子树,继续查找。直到指针为空,表示此树中不存在所要查找的元素。【算法说明】【流程图】将上题的排序二叉树中查找元素的过程用递归的方法实现。其中NODE是自定义类型:typedefstructnodeintdata;structnode*left;structnode*right;NODE;【算法】NODE*SearchSortTree(NODE*tree,inte)if(tree!=NULL)if(tree->data<e)(4) ;//小于查找左子树elseif(tree->data<e)(5); //大于查找左子树elsereturntree;returntree;
进入题库练习