重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > 计算机类考试 > 软考中级
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

阅读以下函数说明、图和C程序代码,将C程序段中(1)~(6)空缺处的语句填写完整。[说明] 散列文件的存

阅读以下函数说明、图和C程序代码,将C程序段中(1)~(6)空缺处的语句填写完整。

[说明]

散列文件的存储单位称为桶(BUCKET)。假如一个桶能存放m个记录,当桶中已有m个同义词(散列函数值相同)的记录时,存放第m+1个同义词会发生“溢出”。此时需要将第m+1个同义词存放到另一个称为“溢出桶”的桶中。相对地,称存放前m个同义词的桶为“基桶”。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。

例如,设散列函数为Hash(Key)=Key mod7,记录的关键字序列为15,14,21,87,96,293,35,24, 149,19,63,16,103,77,5,153,145,356,51,68,705,453,建立的散列文件内容如图2-27所示。

阅读以下函数说明、图和C程序代码,将C程序段中(1)~(6)空缺处的语句填写完整。[说明] 散列文件

为简化起见,散列文件的存储单位以内存单元表示。

函数InsertToHashTable(int NewElemKey)的功能是:若新元素NewElemKey正确插入散列文件中,则返回值0;否则返回值-1。

采用的散列函数为Hash(NewElemKey)=NewElemKey%P,其中P设定基桶的数目。

函数中使用的预定义符号如下。

阅读以下函数说明、图和C程序代码,将C程序段中(1)~(6)空缺处的语句填写完整。[说明] 散列文件

查看参考答案
更多“阅读以下函数说明、图和C程序代码,将C程序段中(1)~(6)空缺处的语句填写完整。[说明] 散列文件的存”相关的问题

第1题

阅读以下说明,以及用C++在开发过程中所编写的程序代码,将应填入(n)处的字句写在对应栏内。【说明】

阅读以下说明,以及用C++在开发过程中所编写的程序代码,将应填入(n)处的字句写在对应栏内。

【说明】

在下面函数横线处填上适当的字句,使其输出结果为:

构造函数.

构造函数.

1,2

5,6

析构函数

析构函数.

【C++代码】

include "iostream.h"

class AA

{ public;

AA(int i,int j)

{A=i; B=j;

cout<<"构造函数.\n";

}

~AA(){(1);}

void print();

private:

int A, B;

};

void AA∷print()

{cout<<A<<","<<B<<endl;}

void main()

{

AA *a1, *a2;

(2)=new AA(1, 2);

a2=new AA(5, 6);

(3);

a2->print();

(4) a1;

(5) a2;

}

点击查看答案

第2题

阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在对应栏内。 【说明】本应用程

阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在对应栏内。

【说明】

本应用程序是一个小写数字转换成大写格式的转换器,其运行窗口如图5所示。

阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在对应栏内。 【说明

窗口中有两个标签(lblNumber和lblChinese)、两个文本框(txtNnmber和txtChinese)和一个命令按钮(cmdChange)。当单击按钮cmdChange时,将文本框txtNumber中数字转换成中文大写,并显示在文本框txtChinese中。例如,在文本框txtNumber输入0076845,单击cmdChange按钮,将在文本框txtChinese中显示“柒万陆仟捌佰肆拾伍”。

程序中调用的函数CChinse(Strdigit As String)的功能是先删除字符串的所有前导0,再调用函数Change(Strdigit As String),将数字字符串Strdigit转换成中文大写格式。

为了防止用户在文本框txtNumber输入非数字形式的字符,程序将以空字符代替所输入的非数字有形字符。

【程序】

Private Function Transfer(Strdigit As String)As String

′完成小写向大写的转换,这段代码省略

End Function

Private Function CChinese(Strdigit As String)As String

Dim intLen,intCounter As Integer

intLen = Len (Strdigit)

If intLen>0 Then

intcounter = 0

Do '过滤数字串Strdigit的前导0

intcounter = intcounter + 1

Loop Until Mid(Strdigit,(1))

intLen =(2)

Strdigit =(3) (Strdigit,intLen)

CChinese = Transfer(Strdigit)

End If

End Function

Private Sub cmdChange_Click()

txtChinese.Text=CChinese((4)) '调用Cchinese函数

End Sub

Private Sub txtNumber_KeyPress(KeyAscii As Integer)

Select Case KeyAscii '根据输入字符的ASCII码的值进行判断

Case KeyAscii<32 '保留输入的控制字符

Case 48 To 57 '保留输入的数字字符

Case Else '其他情况以空字符代替

(5)=0

End Select

End Sub

点击查看答案

第3题

阅读以下说明和C语言函数,将解答填入对应栏内。 【说明】 下面待修改的C程序完成的功能是:对于给定

阅读以下说明和C语言函数,将解答填入对应栏内。

【说明】

下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“14251382”,则输出的整数为“4532”。

下面给出的C程序代码中有五个错误,请指出所有的错误。

【C程序代码】

01 include <stdio.h>

02

03 int main()

04 {

05 long n, num;

06 int i;

07

08 do {

09 printf("请输入一个正整数:");

10 scanf("%ld", n);

11 }while(n <= 0);

12 k = 1;

13 for (i = 1; n >= 0; i++) {

14 if (i % 2 = 1) {

15 num= num+ (n % 10) * k;

16 k = k * 10;

17 }

18 n = n / 10;

19 }

20 printf("新数据为: %d \n",num);

21 return 0;

22 }

点击查看答案

第4题

阅读以下函数说明和C代码,将C程序中(1)~(5)空缺处的语句填写完整。[说明] 函数int Toplogical(Lin

阅读以下函数说明和C代码,将C程序中(1)~(5)空缺处的语句填写完整。

[说明]

函数int Toplogical(LinkedWDigraphG)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长度。其中,图G表示一个具有n个顶点的AOE-网,图中顶点从1~n依次编号,图G的存储结构采用邻接表表示,其数据类型定义如下。

阅读以下函数说明和C代码,将C程序中(1)~(5)空缺处的语句填写完整。[说明] 函数int Top

例如,某AOE-网如图6-22所示,其邻接表存储结构如图6-23所示。

阅读以下函数说明和C代码,将C程序中(1)~(5)空缺处的语句填写完整。[说明] 函数int Top

[函数]

阅读以下函数说明和C代码,将C程序中(1)~(5)空缺处的语句填写完整。[说明] 函数int Top

点击查看答案

第5题

阅读以下说明和C程序代码,将程序补充完整。[说明] 下面C程序代码的功能是:对于输入的一个正整数n(

阅读以下说明和C程序代码,将程序补充完整。

[说明]

下面C程序代码的功能是:对于输入的一个正整数n(100≤n<1000),先判断其是否是回文数(正读反读都一样的数)。若不是,则将n与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278不是回文数,其反序数为872,相加后得到的1150还不是回文数,再将1150与其反序数511相加,得到的1661是回文数。

函数int isPalm(long m)的功能是:将正整数m的各位数字取出存入数组中,然后判断其是否为回文数。若m是回文数则返回1,否则返回0。

[C程序代码]

include<stdio.h>

include<stdlib.h>

int isPalm(long m)

{

int i=0, k=0;

char str[32];

while(m>0) {

str[k++]= _______ +'0';

m=m/10;

}

for(i=0; i<k/2; i++)

if(str[i]!=str _______ )return 0;

return 1;

}

int main()

{

long n, a, t;

printf("input a positive integer: "); scanf("%ld", &n);

if(n<100||n>=1000)return -1;

while(_______ ) {

printf("%id->", n);

for(a=0, t=n; t>0; ){

a= _______ *10+t%10; t=t/10;

n= _______ ;

printf("%id\n", n);

system("pause"); return 0;

点击查看答案

第6题

阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。 [说明] 函数MultibaseOu

阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。

[说明]

函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成 B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:

define MAXSIZE 32

typedef struct{

int * elem; /* 栈的存储区 */

int max; /* 栈的容量,即栈中最多能存放的元素个数 */

int top; /* 栈顶指针 */

}Stack;

[C代码]

int InitStack(Stack * S,int n) / * 创建容量为n的空栈 */

{ S->elem=(int *)malloc(n * sizeof(int));

if(S->elem==NULL)return-1;

S->max=n; (1)=O;return 0;

}

int Push(Stack * S,int item) / * 将整数item压入栈顶 * /

{ if(S->top==S->max){ printf(“Stack is full! \n”);return-1;}

(2)=item;return 0;

}

int StackEmpty(StackS) {return (! S.top)? 1:0;} / * 判断栈是否为空 * /

int Pop(Stack *S ) / * 栈顶元素出栈 * /

{ if(! S->top){printf(“Pop an empty stack! \n”);return-1;}

return (3);

}

void MultibaseOutput(long n,int B)

{ int m;StackS;

if (InitStack(&S,MAXSIZE)){printf(“Failure! \n”);return;}

do {

if(Push(&S, (4) )){printf(“Failure! \n”);return;}

n=(5);

}while(n!=0);

while(! StackEmpty(S)){ / * 输出B进制的数 * /

m=Pop(&S);

if(m<10)printf(“%d”,m); / * 小于10,输出数字 * /

else printf(“%c”,m+55); / * 大于或等于10,输出相应的字符 * /

}

printf(“\n”);

}

点击查看答案

第7题

●试题八 阅读以下说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。

●试题八

阅读以下说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

本程序是一个可进行数制转换的应用程序,图1所示是其运行界面。txtDec为TextBox控件名,Lblkes为转换结果labe1控件名。

●试题八 阅读以下说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应

【程序代码】

Option Explicit

Private Function convert(pintDec As Intege,pintS As Integer)As String

Dim intCt As Integer,intR As Integer

Dim strCov As String,strRes As String

intR=pintDec Mod pintS

Do While (1)

strCov=strCov & Str(intR)

(2)

intR=pintDec Mod pintS

Loop

For intCt= (3) To 1 Step-1

strRes=strRes & Mid(strCov,intCt,1)

Next intCt

convert=strRes

End Function

Private Sub cmdQuit_Click()′退出

Unload Me

End Sub

Private Sub optBin_Click()′二进制

lblRes.Caption="转换结果:"& (4)

End Sub

Private Sub optHex_Click()′十六进制

lblRes.Caption="转换结果:"& (5)

End Sub

Private Sub optOct_Click()′八进制

lblRes.Caption="转换结果:"&Oct(Val(txtDe

C.Text))

End Sub

点击查看答案

第8题

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【应用说明】 某应用程

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

【应用说明】

某应用程序可选择打开用户指定的文本文件,将其内容显示在指定的文本框内供用户编辑,并将编辑后的结果保存在用户指定的文件中。运行时的窗口如图6-1所示,其中有6个标签、一个驱动器列表框、一个目录列表框、一个文件列表框、一个文件类型组合框、一个文件编辑文本框、一个文件名文本框以及两个命令按钮。

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【应用说明】

该程序的开发要求如下。

(1)通过驱动器列表框(Drivel)、目录列表框(Dirl)和文件列表框(Filel),选择文件。

(2)文件类型组合框(Cmb_type)设置为下拉式列表框,其中有三个供选项,分别为“所有文件(*.*)”、“文本文件(*.txt)”和“可执行文件(*.exe)”。在文件列表框中列出的文件类型会自动与文件类型组合框中选择的文件类型相匹配。

(3)在文件列表框中单击一个文件名时,该文件名会显示在文件名文本框 (Txt filename)中。

(4)在文件列表框中双击一个文件名时,若是文本文件,则在文件编辑文本框 (Txt file)中显示该文件的内容并可进行编辑;若不是文本文件,则弹出一个对话框,提示“请选择文本文件!”。

(5)对于编辑后的文本文件,可在文件名文本框中输入新的文件名,并单击命令按钮(Cmd save)进行保存。

【Visual Basic程序代码】

Private Sub Form_Load()

Cmb_type.Addltem "所有文件(*.*)"

Cmb_type.Addltem "文本文件(*.txt)"

Cmb_type.Addltem "可执行文件(*.exe)"

Cmb_type.ListIndex=0

Filel.Pattern="*.*": Txt_filename.Text=" "

Txt_file.Text= " "

End Sub

Private Sub Dirl Change()

Filel.Path=(1)

End Sub

Private Sub Drivel Change()

Dirl.Path=Drivel.Drive

End Sub

Private Sub Cmb_type_click()

Select Case Cmb_type.(2)

Case 0

Filel.Pattern="*.*"

Case 1

Filel.Pattern="*.txt"

Case 2

Filel.Pattern="*.exe"

End Select

End Sub

Private Sub Cmd_save_Click()

usrFile=GetFileName() '函数GetFileName获得要保存的文件名

Open usrFile For Output As 1 '定义usrFile为1号输出文件

Print 1,Txt file.Text '输出到1号文件

Close 1

End Sub

Private Sub Filel_DblClick()

If right(Filel.FileName,3)<>(3)Then

MsgBox "请选择文本文件!"

Exit Sub

End If

usrFile=GetFileName() '函数GetFileName获得要打开的文件名

Open usrFile For Input As 1 '定义usrFile为1号输入文件

Txt_file.Text=" "

DO While (4) EOF(1)

Line Input l,fContext '从1号文件读入一行

Txt_file.Text;Txt file.Text +(5)+vbCrLf

Loop

Close 1

End Sub

'其他代码略

点击查看答案

第9题

阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。[程序5.1说明] 下列程序

阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。

[程序5.1说明]

下列程序运行时,当单击窗体后,从键盘输入一个字符,判断该字符是字母字符、数字字符还是其他字符,并做相应的显示。窗体上无任何控件,并禁用Ase和Chr函数,Select Case语句中禁用枚举值。

[Visual Basic代码]

Private Sub Form. Load ()

Dim x As String*1

X=(1) (“请输入单个字符”,“字符”)

Select Case UCase ((2) )

Case (3)。

Print X+“是字母字符”

Case (4)

Print X+ “是数字字符”

Case Else

Print X+“是其他字符”

End Select

[程序5.2说明]

在窗体上画一个名称为Timer1的计时器和一个名称为Labe11的标签。当运行程序后,将在标签中显示当前时间的数字时钟(包括时:分:秒)。

[Visual Basic代码]

Private Sub Fom_Load ()

Timer1.Interval=1000

EndSub

Private Sub Timer1_ timer() (5)

EndSub

点击查看答案

第10题

●试题八 阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 以下程

●试题八

阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。

【程序】

#include<stdio.h>

main()

{FILE*fp;

charstr[100];inti=0;

if((fp=fopen("text.txt" (1) ))==NULL)

{printf("can't open this file.\n");exit(0);}

printf("input astring:\n");gest(str);

while(str[i])

{if(str[i]>=′a′ && str[i]<=′z′)

str[i]= (2) ;

fputc(str[i], (3) );

i++;

}

fclose(fp);

fp=fopen("test.txt", (4) );

fgets(str,100,fp);

printf("%s\n",str);

(5) ;

}

点击查看答案
赏学吧APP
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧