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

阅读以下应用说明、属性设置以及Visual Basic程序代码,将解答写在对应栏内。 【应用说明】 本应用运

阅读以下应用说明、属性设置以及Visual Basic程序代码,将解答写在对应栏内。

【应用说明】

本应用运行时,由用户输入一个正整数n后自动产生n个正整数,然后按照用户的指定要求对该组数进行处理。该应用的运行界面如下图所示:

阅读以下应用说明、属性设置以及Visual Basic程序代码,将解答写在对应栏内。 【应用说明】

1.窗体中有两个文本框。(txtSrc,txtObj)、两个标签(lblSrc,lblObj)、三个命令按钮(cmdGendat,cmdProc,cmdQuit)和一个弹出式菜单(procMenu,初始时不可见)。

2.文本框txtSrc(由标签lblSrc提示)用于显示产生的数据,文本框txtObj(由标签lblObj提示)用于显示处理结果,要求每行显示一个整数。

3.程序启动时,命令按钮cmdProc(运算要求)不可用。单击命令按钮cmdGendat(产生数据)后,提示用户输入一个n的值并生成n个正整数存入数组元素a(1)~a(n),然后将数据逐行显示在txtSrc中,并设置命令按钮cmdProc可用。

4.单击命令按钮cmdProc(运算要求)后弹出菜单。选择菜单项并单击后,进行相应处理并将结果显示在txtObj中,同时将lblObj的标题改为该菜单项表示的处理命令。

弹出式菜单“运算要求”的结构如下表所示:

阅读以下应用说明、属性设置以及Visual Basic程序代码,将解答写在对应栏内。 【应用说明】

一个整数序列的中位数是指对该序列进行非递减(增)排列后最中间位置上的元素。若序列长度为偶数,则取中间两个元素的平均值为其中位数。

【属性设置】

为实现单击命令按钮cmdProc后弹出“运算要求”菜单(procMenu),设计时需将 procMenu的(1)属性设置成false。

供(1)选择的属性:Default Enabled ScaleMode Style Visible

【Visual Basic程序代码】

Dim a() AS Integer, n As Integer

Private Sub Form_Load()

txtSrc.Text = "": txtObj.Text = "": (2) = False

End Sub

Private Sub cmdGendat_Click () '生成正整数序列并存入数组a

On Error GoTo Error handler

n = InputBox$ ("请输入数组元素个数:", "输入序列长度")

If (n < 1) Then

MsgBox "输入数据错误!", vbOKOnly, "提示:"

GoTo Error handler:

End If

ReDim a(n) As Integer

s = ""

For i = 1 To n '将生成的正整数存入a(1)~a(n)中

a(i) = Int(Rnd * 10000) : s = s & Str$(a(i)) & vbCrLf

Next

txtSrc.Text = s

(3) '设置运算要求命令按钮可用

Error handler:

End Sub

Private Sub cmdProc_Click()

PopupMenu procMenu

End Sub

Private Sub MidNum_Click() '求中位数

lblObj.Caption = MidNum.Caption & ":"

For i = 1 To round((n + 1)/2> '用选择排序法对数组a进行部分排序

a(0) = a(i):k = i 'a(0)用作临时变量,暂存第i次选出的最小元素

For j = i + 1 To n

If a(j) < a(0) Then

a(0)= a(j): k =(4)

End If

Next

If k <> i Then

a(k) = a(i): a(i) = a(0)

End If

Next

If n / 2 - n \ 2 > 0 Then 'n为奇数时,取中间一个数

txtObj.Text - Str$(a((5))

Else 'n为偶数时,取中间两个数的平均值

txtobj.Text = Str$(Int((a(n \ 2) + a(n \ 2 + 1)) / 2))

End If

End Sub

'其他代码略

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读以下应用说明、属性设置以及Visual Basic程序代…”相关的问题

第1题

指出该代码是否存在内存泄漏。

点击查看答案

第2题

类Stock的定义中有两处错误,请指出错误所在行号并给出该行修改后的完整结果。

点击查看答案

第3题

阅读以下说明和流程图,填补流程图中的空缺(1)~(9),将解答填入对应栏内。【说明】 假设数组A中的各元

阅读以下说明和流程图,填补流程图中的空缺(1)~(9),将解答填入对应栏内。

【说明】

假设数组A中的各元素A(1),A(2),…,A(M)已经按从小到大排序(M≥1);数组B中的各元素B(1),B(2),…,B(N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素:2,5, 6,7,9;数组B中有元素2,3,4,7:则数组C中将有元素:2,2,3,4,5,6,7, 7, 9。

【流程图】

点击查看答案

第4题

阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。说明 以下程序的功能是计算三

阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。

说明

以下程序的功能是计算三角形、矩形和正方形的面积并输出。

程序由4个类组成:类Triangle、Rectangle和Square分别表示三角形、矩形和正方形;抽象类Figure提供了一个纯虚拟函数getArea(),作为计算上述三种图形面积的通用接口。

c++程序

include <iostream.h>

inclule <math.h>

class Figure {

public:

virtual double getArea()= 0; // 纯虚拟函数

};

class Rectangle: (1) {

protected:

double height;

double width;

public:

Rectangle() { };

Rectangle(double height, double width) {

this->height = height;

this->width = width;

}

double getArea() {

return (2) ;

}

class Square: (3) {

public:

Square(double width) {

(4) ;

}

};

class Triangle: (5) {

double la;

double lb;

double lc;

public:

Triangle(double la, double lb, double lc) {

this->la = la; this->lb ='lb; this->lc = lc;

}

double getArea() {

double s = (la+lb+lc)/2.0;

return sqrt(s*(s-la)*(s-lb)*(s-lc));

} }; void main() {

Figure* figures[3] = {

new Triangle(2,3,3), new Rectangle(5,8), new Square(5)};

for (int i = 0; i < 3; i++) {

com << "figures[" << i << "] area =" << (figures[i])->getArea0 << endl;

}

点击查看答案

第5题

阅读以下说明及C++程序代码,将应填入(n)处的语句写在对应栏内。【说明】 本程序的功能是生成螺旋方

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

【说明】

本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下:

1 16 15 14 13

2 17 24 23 12

3 18 25 22 11

4 19 20 21 10

5 6 7 8 9

【C++代码】

include"stdio.h"

include"iostream,h"

int array[11][11];

int temp;

int ROW;

void godown(int &m,int &a)

{

for(temp=1; temp<=ROW;temp++)

if(array[temp][a]==0)

array[temp][a]=(1);

a++;

}

void goright(int &m,int &b)

{

for(temp=1;temp<=ROW;temp++)

if(array[b][temp]==0)

array[b][temp]=m++;

b--;

}

void goup(int &m.int &c)

{

for(temp=ROW;temp>0;temp-)

if(array[temp][c]==0)

array[temp][c]=m++;

c--;

}

void goleft(int &m,int &d)

{

for(temp=ROW;temp>0;temp--)

if(array[d][temp]==0)

array[d][temp]=m++;

(2);

}

void main()

{

int a,b,c,d,max,m;

cin>>ROW;

cout>>end1;

for(a=1;a<=ROW;a++)

for(b=1;b<=ROW;b++)

(3);

m=1;

a=d=1;

b=c=ROW;

max=(4);

whiie(m<=max)

{

godown(m,a);

(5) (m,b);

goup(m,c);

goleft(m,d):

}

for(a=1;a<=ROW;a++)

{

for(b=1;b<=ROW;b++)

printf("%3d ",array[a][b]);

cout<<end1;

}

}

点击查看答案

第6题

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】 下面的程序构造一棵以二叉链

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

【说明】

下面的程序构造一棵以二叉链表为存储结构的二叉树。

【函数】

BitTree *createbt(BitTree *bt)

{

BitTree *q;

struct node *s[30];

int j,i;

char x;

printf("i,x=");

scant("%d,%c",&i,&x);

while(i!=0 && x!='$')

{

q=(BitTree *}malloc(sizeof(BitTree));//生成一个结点

(1);

q->lchild=NULL;

q->rchild=NULL;

(2) ;

if ((3))

{

j=i/2; // j为i的双亲结点

if(i%2==0)

(4); //i为j的左孩子

else

(5); //i为j的右孩子

}

printf("i,x=");

scanf("%d,%c",&i,&x);

}

return s[i];

}

点击查看答案

第7题

阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。 【说明】 魔方阵,又叫幻方,在我国古代

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

【说明】

魔方阵,又叫幻方,在我国古代称为“纵横图”。由1…N2共N2个自然数构成每行、每列及两对角线上各数之和都相等的N×N方阵,这样的方阵就叫做N阶魔方阵。顾名思义,奇阶魔方阵就是N为奇数的幻方。

奇数阶魔方阵的生成方法如下:

(1)第一个位置在第一行正中。

(2)新位置应当处于最近一个插入位置右上方,但如果右上方位置已超出方阵上边界,则新位置取应选列的最下一个位置;如果超出右边界,则新位置取应选行的最左一个位置。

(3)若最近一个插入元素为N的整数倍,则选下面一行同列上的位置为新位置。本题要求输入一个数据n,然后打印由自然数1到n2的自然数构成的魔方阵(n为奇数)。例如,当n=3时,魔方阵为:

8 1 6

3 5 7

4 9 2

了解其生成方法后,就可以根据此方法来写出程序了。首先设置int变量i,j,m, n。其中i标记魔方阵的行;j标记魔方阵的列;n表示魔方阵的维数,通过输入得到;通过m递加得到插入的数据。数组a[MAX][MAX]用于存放魔方阵元素。这里预定义了 MAX的大小,没有采用动态分配,在此设置为15,即最大求得15×15阶魔方阵。

【程序】

include <stdio.h>

define MAX 15

void main()

{

int n;

int m=1;

int i,j;

int a[MAX][MAX];

printf("Please input the rank of matrix:");

scanf("%d",&n);

i=0;

(1)

while((2))

a[i][j]=m;

m++;

i--;

j++;

if((m-1)%n==0 && m>1)

{

(3)

j=j-1;

}

if(j>(n-1)) //超出上界

(4)

if(j>(n-1))

(5)

}

for(i=0;i<n;i++) //输出魔方阵

for(j=0;j<n;j++)

{

if(a[i][j]/10==0)

printf("%d ",a[i][j]); //对程序无影响,只是使输出的数每一列对齐

else

printf("%d ",a[i][j]);

if(j==(n-1))

printf("\n");

}

}

点击查看答案

第8题

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】 本程序从正文文件text.in中读

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

【说明】

本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。

程序用一棵有序二叉树存储这些单词及其出现的次数,边读入边建立,然后中序遍历该二叉树,将遍历经过的二叉树上的结点内容输出。

【函数】

include <stdio.h>

include <malloc.h>

include <ctype.h>

include <string.h>

define INF "text.in"

define OUTF "word.our'

typedef struct treenode {

char *word;

int count;

struct treenode *left, *right;

} BNODE;

int getword(FILE *fpt, char *word)

{ char c;

c=fgetc(tpt);

if (c==EOF)

return 0;

while(!(tolower(c)>= 'a' && tolower(c)<= 'z'))

{ c=fgetc(fpt);

if (c==EOF)

return 0;

} /* 跳过单词间的所有非字母字符 */

while(tolower(c)>= 'a' && tolower(c)<= 'z')

{ *word++=c;

c=fgetc(fpt);

}

*word='\0';

return 1;

}

void binary_tree(BNODE **t, char *word)

{ BNODE *ptr, *p; int compres;

p=NULL;

(1);

while (ptr) /* 寻找插入位置 */

{ compres=strcmp(word, ptr->word);/* 保存当前比较结果 */

if (!compres)

{ (2); return;}

else

{ p=ptr;

ptr=compres>0 ? ptr->right: ptr->left;

}

}

ptr=(BNODE *)malloc(sizeof(BNODE));

ptr->left=ptr->right=NULL;

ptr->word=(char *)malloc(strlen(word)+1);

strcpy(ptr->word, word);

(3);

if (p==NULL)

*t=ptr;

else if (compres>0)

p->right=ptr;

else

p->left=ptr;

}

void midorder(FILE *fpt, BNODE *t)

{ if (t==NULL)

return;

midorder(fpt,(4));

fprintf(fpt, "%s %d\n", t->word, t->count);

midorder(fpt, t->right);

}

void main()

{ FILE *fpt; char word[40];

BNODE *root=NULL;

if ((fpt=fopen(INF, "r"))==NULL)

{ printf("Can't open file %s\n", INF);

return;

}

while(getword(fpt, word)==1)

binary_tree((5));

fclose(fpt);

fpt=fopen(OUTF, "w");

if (fpt==NULL)

{ printf("Can't open fife %s\n", OUTF);

return;

}

midorder(fpt, root);

fclose(fpt);

}

点击查看答案

第9题

阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。 【函数2.1说明】 将一个正整数分

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

【函数2.1说明】

将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

【函数2.1】

Fun1 (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;

}

}

}

点击查看答案

第10题

阅读下列说明和C++代码,请回答问题1至问题3。【说明】 已知下列程序运行时的输出应为: 1:1 1:1 1:1【

阅读下列说明和C++代码,请回答问题1至问题3。

【说明】

已知下列程序运行时的输出应为:

1:1

1:1

1:1

【C++程序】

01 include <iostream>

02 using namespace std;

03 class Stock{

04 protect:

05 (1) {};

06 Stock(iht n, int pr=1){

07 shares = n; share_val=pr;

08 };

09 void~Stock(){};

10 public:

11 //成员函数

12 void output(){

13 (2) << shares << ":" << share val << endl;

14 }

15 private:

16 //成员变量

17 int shares;

18 int share_val;

19 };

20

21 void main(){

22 Stock a(1); a.output();

23 Stock b; b.output();

24 Stock c = Stock(); c.output();

25 }

请补齐下述代码中的空缺1和2。

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

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

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

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

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