题目内容 (请给出正确答案)
[主观题]

阅读下列程序说明和c代码,将应填入(n)处的字句写在对应栏内。[说明] 下面的程序利用递归算法计算x

阅读下列程序说明和c代码,将应填入(n)处的字句写在对应栏内。

[说明]

下面的程序利用递归算法计算x和y的最大公约数。

[函数2.1]

main ()

{ int x,y,k,t;

scanf(" % d% d" , &x, &y);

if(x>y) { t=x;x=y; y=t;}

(1);

while(k! =0){

y=x;

(2);

k=y%x;

}

prinff("% d" ,x); }

[函数2.2说明]

函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。

[函数2.2]

fun(ehar * str, char * substr)

{ int x,y,z;

(3);

for(x=0;str[ x] ! = '\O';x + + )

for(y=x,z=0;sabstr[z] = =str[y];(4),y+ +)

if((5)= ='\0') {

num + +;

break;

}

return(num);

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读下列程序说明和c代码,将应填入(n)处的字句写在对应栏内…”相关的问题

第1题

阅读下列说明和流程图,将应填入(n)的语句写在对应栏内。【流程图】 下面的流程图描述了对16位二进制

阅读下列说明和流程图,将应填入(n)的语句写在对应栏内。

【流程图】

下面的流程图描述了对16位二进制整数求补的算法。计算过程是:从二进制数的低位 (最右位)开始,依次向高位逐位查看,直到首次遇到“1”时,停止查看。然后,对该“1”位左面的更高位(如果有的话),逐位求反,所得的结果就是对原二进制数求补的结果。

例如:对二进制整数10111001 10101000求补的结果是01000110 01011000。

设16位二进制整数中的各位,从低位到高位,依次存放在整型数组BIT的BIT[1]~BIT[16]中。例如,二进制整数10111001 10101000存放在数组BIT后,就有BIT1[1]=0, BIT[2]=0,……,BIT[15]=0,BIT[16]=1。

流程图(如图1所示)中(1)处按“循环变量名:循环初值,增量,循环终值”格式描述。若流程图中存在空操作,则用NOP表示。

点击查看答案

第2题

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。[说明] 下面的流程图实现了正整数序列{K

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

[说明]

下面的流程图实现了正整数序列{K(1),K(2),…,K(n)}的重排,得到的新序列中,比K(1)小的数都在K(1)的左侧,比K(1)大的数都在K(1)的右侧。以n=6为例,序列{12,2,9,13,21,8}的重排过程为:

{12,2,9,13,21,8}

→{2,12,9,13,21,8}

→{9,2,12,13,21,8}

→{8,9,2,12,13,21}

[流程图]

点击查看答案

第3题

阅读以下函数说明和C语言函数,将应填入(n)的字句写在答题纸的对应栏内。 [说明1] 函数int fun1(in

阅读以下函数说明和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' &&(3)) {

if (*p>='0' && *p<='9') {

k=(4)+ *p - '0';

++i;

}

(5);

}

return k;

}

点击查看答案

第4题

阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 当用户启动h

阅读以下说明、Java代码和HTML文档,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

当用户启动html浏览器并首次打开下面的HTML文档时,Java Applet小程序在显示面板上显示字符串“Welcome!”;当html页面被其他窗口

遮挡后再次显示时,小程序在显示面板上显示“Welcome back!”。

【Java代码】

import javA.awt.*;

import javA.applet;

public class HelloApplet extends (1) {

public void paim((2)){

g.drawString(message,10,20);

message="welcome back!”;

}

public void (3) (){

message="Welcome!”;

}

private (4) message;

}

【HTML文档】

<html>

<head>

<title>HTML Test HelloApplet Page</title>

</head>

<body>

Test HelloApplet小程序<br>

<applet

codebase="."

code="(5) "

name="TestApplet"

width="400"

height="300"

</applet>

</body>

</html>

点击查看答案

第5题

若按下式计算奇校验位,则上述流程图中的(1)处应填(5)。

点击查看答案

第6题

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】 设串s和串t采用顺序存储结构,

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。

【说明】

设串s和串t采用顺序存储结构,编写函数实现串s和串t的比较操作,要求比较结果包括大于、小于和等于3种情况。

【函数】

int StrCompare(SStrType s, SStrType t)

{

int n=s.length, m=(1), i,j,tag;

i=0; j=0;

while((2))

{

if((3))

{

i++;

j++;

}

else if(s.str[i]>t.str[j])

{

tag=1;

return tag;

}

else

{

tag=-1;

return tag;

}

}

if(n==m)

tag=0;

else if((4))

tag=1;

else if(n<m)

tag=-1;

(5);

}

点击查看答案

第7题

阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。 【说明】为了减少直接插入排序关键字的

阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。

【说明】

为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置。(假设R[]中的元素互不相同)

[算法]

1.变量声明

X: Data Type

i,j,low, high,mid,r:0..n

2.每循环一次插入一个R[i]

循环:i以1为步长,从2到n,反复执行。

(1)准备

X←R[i];(1); high←i-1;

(2)找插入位置

循环:当(2)时,反复执行。

(3)

若X.key<R[mid].key

则high←mid-1;

否则 (4)

(3)后移

循环:j以-1为步长,从(5),反复执行。

R[j+1]←R[j]

(4)插入

R[low]←X

3.算法结束

点击查看答案

第8题

阅读以下应用说明以及Visual Basic程序代码,将应填入(n)。【应用说明】 某电视台拟开发应用程序来显

阅读以下应用说明以及Visual Basic程序代码,将应填入(n)。

【应用说明】

某电视台拟开发应用程序来显示戏曲大赛中1~4号四位选手决赛的现场投票情况。该程序从现场观众中(不超过2000人)每0.5秒收集一次对这四位选手的支持票数,并在屏幕上动态显示这四位选手的票柱(以高度反映票数)与累计得票数,如图2-3所示。投票过程限时30秒,每名观众最多为1名选手投票。投票结束后系统通过比较各位选手的累计得票数,显示决赛结果:“*号胜出”(如有单个冠军)或“继续进行PK”(如有多人获得相同的最高票数)。

在开发该程序的过程中创建的主要控件及其初始属性值说明如下:

该程序中设置公共变量T动态记录投票时间。四个形状ShpM(1 to 4)动态增长的底线固定。

【Visual Basic程序代码】

Dim T As Integer '声明全局变量

Private Sub Form_Load()

For i=1 To 4

ShpM(i).Top=2000 : ShpM(i).Height=0 '初始票柱高度为0

TxtM(i).Text=0

Next i

Timl.Enabled=False : Timl.Interval=500 : T=0

End Sub

Private Sub CmdStart Click()

Timl.Enabled=True '开始投票

CmdStart.Enabled=False

End Sub

Private Sub Timl Timer()

Dim n(1 To 4) As Integer 'n(1 to 4)为每次收集的票数

Dim i As Integer,j As Integer

Dim G As Integer 'G用于计算最高票数

Dim ng As Integer 'ng用于计算冠军个数

For i=1 To 4

n(i)=... '收集i号选手的票数,此处省略

TxtM(i).Text=TxtM(i).Text+n(i) '累计票(VB能进行自动转换)

ShpM(i).Top=ShpM(i).Top-n(i)

ShpM(i).Height=ShpM(i).Height+(1) '算出票柱高度

Next i

T=T+1 '计时

If T=60 Then '投票时间到

(2) '停止数据收集处理

ng = 1

G=TxtM(1).Text

For i=2 To 4

If G<TxtM(i).Text Then

G=TxtM(i).Text

ng=(3)

j = i

Else

If G=TxtM(i).Text Then ng=(4) '计算冠军个数

End If

Next i

If ng=1 Then

txtResult. Text=(5) '单个冠军结果

Else

txtResult. Text="继续进行PK"

End If

End If

End Sub

点击查看答案

第9题

阅读以下说明和C语言程序,将应填入(n)。【说明】 某电信公司记录了每个用户的详细通话情况(每次通话

阅读以下说明和C语言程序,将应填入(n)。

【说明】

某电信公司记录了每个用户的详细通话情况(每次通话数据记录在一行),现将某用户某月的通话数据存入一个文本文件dial.txt,其数据格式如下:

拨入或拨出标记通话开始时间通话结束时间对方号码 注1:数据字段以一个空格作为分隔符。

注2:拨入和拨出标记均为小写字母。拨入标记为i,表示其他用户呼叫本机,本机用户不需付费:拨出标记为o,表示本机呼叫其他用户,此时本机用户需要付费。

注3:通话开始和结束时间的格式均为HH:MM:SS。其中HH表示小时,取值00~ 23;MM表示分钟,取值00~59;SS表示秒,取值00~59。从通话开始到结束这段时间称为通话时间,假定每次通话时间以秒为单位,最短为1秒,最长不超过24小时。

注4:跨月的通话记录计入下个月的通话数据文件。

例如“o23:01:1200:12:15…”表示本次通话是本机呼叫其他用户,时间从23时01分12秒至次日的0时12分15秒,通话时间为71分03秒。

下面程序的功能是计算并输出该用户本月电话费(单位:元)。

通话计费规则为:

1.月通话费按每次通话费累加;

2.每次的通话费按通话时间每分钟0.08元计算,不足1分钟时按1分钟计费。

对于每次的拨出通话,程序中先分别计算出通话开始和结束时间相对于当日0点0分0秒的时间长度(以秒为单位),然后算出本次通话时间和通话费。

例如,若输入文件dial.txt的数据如下所示,则输出fee=7.44。

o 14:05:23 14:11:25 82346789

i 15:10:00 16:01:15 13890000000

o 10:53:12 11:07:05 63000123

o 23:01:12 00:12:15 13356789001

【C程序代码】

include<stdio.h>

FILE *fin;

Int main()

{

char str[80];

int h1,h2,m1,m2,s1,s2;

long t_start,t_end,interval;

int c;

double fee=0;

fin=fopen("dial.txt","r");

if (!fin)

return-1;

while (!feof(fin)) {

if (!fgets(str,80,fin)) break;

if ( (1) ) continue;

h1= (str[2] -48) *10+str[3] -48;

m1= (str[5] -48) *10+str[6] -48;

s1= (str[8] -48) *10+str[9] -48;

h2= (str[11] -48) *10+str[12] -48;

m2= (str[14] -48) *10+str[15] -48;

s2=(str[17]-48)*10+str[18]-48;

t_start=h1*60*60+m1*60+s1; /*通话开始时间*/

t_end=h2*60*60+m2.60+s2; /*通话结束时间*/

if( (2) ) /*若通话开始和结束时间跨日*/

interval;(3)-t_start+t_end;

else

interval=t_end-t_start;

c= (4) ; /*计算完整分钟数表示的通话时间*/

if (interval % 60)

(5);

fee+=c*0.08;

}

fclose(fin);

printf("fee=%.2lf\n",fee);

return 0;

}

点击查看答案

第10题

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】 设M叉树采用列表法表示,即每

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。

【说明】

设M叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值后跟用“()”括起来的各子树的列表(若有子树的话),各子树的列表间用“,”分隔。例如,如下图所示的三叉树可用列表a(b(c,d),e,f(g,h,i))表示。

本程序根据输入的列表生成一棵M叉树,并由M叉树再输出列表。

【函数】

include

include

define M 3 /*三叉树*/

typedef struct node{

int val;

struct node *subTree[M];

}NODE;

char buf[255], *str=buf;

NODE *d=NULL;

NODE *makeTree() /*由列表生成M叉树*/

{

int k; NODE *s;

s=(1);

s->val=*str++;

for(k=0;k<M;k++)

s->subTree[k]=NULL;

if(*str=='(')

{

k=0;

do{

str++;

s->subTree[k]=(2);

if(*str==')')

{

str++;

break;

}

k=k+1;

}while((3));

}

return s;

}

void walkTree(NODE *t) /*由M叉树输出列表*/

{

int i;

if(t !=NULL)

{

(4);

if(t->subTree[0]==NULL)

return;

putchar('(');

for(i=0;i<M;i++)

{

(5);

if(i !=M-1 && t->subTree[i+1]!=NULL)

putchar(',');

}

putchar(')');

}

}

void main()

{

printf("Enter exp: ");

scanf("%s",str);

d=makeTree();

walkTree(d);

putchar('\n');

}

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

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

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信