阅读以下说明C++代码,将应填入(n)处的字句写在对应栏内。
[说明]
以下程序的功能是实现堆栈的一些基本操作。堆栈类stack共有三个成员函数:empty判断堆栈是否为空;push进行人栈操作;pop进行出栈操作。
[C++程序]
#include "stdafx. h"
#include <iostream, h>
eonst int maxsize = 6;
class stack {
float data[ maxsize];
int top;
public:
stuck(void);
~ stack(void);
bool empty(void);
void push(float a);
float pop(void);
};
stack: :stack(void)
{ top =0;
cout < < "stack initialized." < < endl;
}
stack:: ~stack(void) {
cout < <" stack destoryed." < < endl;
bool stack:: empty (void) {
return (1);
void stack: :push(float a)
if(top= =maxsize) {
cout < < "Stack is full!" < < endl;
return;
data[top] =a;
(2);
}
float stack:: pop (void)
{ if((3)){
cout< < "Stack is undcrflow !" < < endl;
return 0;
(4);
return (5);
}
void main( )
{ stack s;
coat < < "now push the data:";
for(inti=l;i< =maxsize;i+ +) {
cout< <i< <" ";
s. push(i);
}
coat < < endl;
cout< < "now pop the data:";
for(i = 1 ;i < = maxsize ;i + + )
cout< <s. pop()< <" ";
}
阅读以下说明C++代码,将应填入(n)处的字句写在对应栏内。
[说明]
以下程序的功能是实现堆栈的一些基本操作。堆栈类stack共有三个成员函数:empty判断堆栈是否为空;push进行人栈操作;pop进行出栈操作。
[C++程序]
#include "stdafx. h"
#include <iostream, h>
eonst int maxsize = 6;
class stack {
float data[ maxsize];
int top;
public:
stuck(void);
~ stack(void);
bool empty(void);
void push(float a);
float pop(void);
};
stack: :stack(void)
{ top =0;
cout < < "stack initialized." < < endl;
}
stack:: ~stack(void) {
cout < <" stack destoryed." < < endl;
bool stack:: empty (void) {
return (1);
void stack: :push(float a)
if(top= =maxsize) {
cout < < "Stack is full!" < < endl;
return;
data[top] =a;
(2);
}
float stack:: pop (void)
{ if((3)){
cout< < "Stack is undcrflow !" < < endl;
return 0;
(4);
return (5);
}
void main( )
{ stack s;
coat < < "now push the data:";
for(inti=l;i< =maxsize;i+ +) {
cout< <i< <" ";
s. push(i);
}
coat < < endl;
cout< < "now pop the data:";
for(i = 1 ;i < = maxsize ;i + + )
cout< <s. pop()< <" ";
}
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。
[说明]
本程序的功能是给公司的员工Tom,Jack,Green增加薪水。三人的职位分别是programmer, Manager,CEO。
程序由6个类组成:WorkerTest是主类,programmer,Manager,CEO三个类,薪水增加的规则是 programmer的涨幅是5%;Manager的是10%;CEO也是Manager,但是它除了有Manager的涨幅,还有1000元的bonus。接口SalaryRaise提供了一个增加薪水的方法raise()。
[java程序]
public class WorkerTest {
public WorkerTest( ) {}
public static void main( String[] args) {
Programmer programmer = new Programmer( "Tom" ,3000);
Manager manager = new Manager( "Jack" ,4000);
CEO ceo = new CEO( "Green" ,4000);
Worker [] worker = new Worker[3];
programmer, raise( );
manager, raise( );
ceo. raise( );
worker[0] = programmer;
worker [1] = manager;
worker[2] = ceo;
for ( int i = 0 ;i < worker, length; i + + ) {
System. out. prinfln (" Name:" + worker [i]. getName ( ) +" \ tSalary:" + worker [i]. getSalary ());
public interface SalaryRaise { void raise( ); }
public class Worker {
public String name;
public double (1);
public Worker( ) {}
public String getName( ) {return name;}
public void setName( String name) {this. name = name;}
public double getSalary( ) {return salary;}
public void setSalary(double salary) { this. salary = salary; }
}
public class Programmer extends Worker implements (2) {
public Programmer( ) {}
public void raise( ) {
double pets=0.05;
double sala = this. getSalary( ) * (1 + pers);
this. setSalary (sala);
public Programmer( Siring name, double salary) t
this. name = name;
this. salary = salary;
public class Manager extends (3) implements SalaryRaise {
public Manager( ) { }
public Manager(String name, double salary) {
this. name = name;
this. salary = salary;
}
public void raise( ) {
double pets = 0.1;
double sala = this. getSalary() * (1 + pers);
this. setSalary(sala);
}
}
public class CEO extends Manager implements SalaryRaise {
public CEO() {}
public CEO( String name,double salary) {
this. name = name;
this. salary = salary;
}
public void raise( ) {
double bonus = 1000;
(4);
double sala = this. getSalary( );
(5);
this. setSalary(sala);
}
}
阅读以下说明及Visual Basic代码,将应填入(n)处的字句写在对应栏内。
[说明]
下图是一个简易文本编辑器程序的运行界面:
用户打开磁盘上的某个文件后,可以直接对文本进行编辑,也可以利用界面提供的按钮完成相应操作。主要操作介绍如下:
(1)打开文件:打开文件对话框,其中仅显示“*.txt”类型的文件。用户选中某一文件后,其内容将呈现于界面文本框内;
(2)查找:提示用户输入要查找的内容,将首次出现的查找内容以蓝色高亮标记;
(3)替换:若文本框中已选中某段文本,则提示用户输入要替换的内容,在文本框中完成替换。
在开发过程中,文本框名为Text1,“打开文件”、“保存文件”、“查找”、“替换”、“退出”按钮分别命名为Command1至Command5。
[Visual Basic代码]
Dim fileName As String
Dim fso As New (1), ts As Object
’打开文本文件
Private Sub Command1_Click()
CommonDialog1.Filter = "*.txt"
CommonDialog1.ShowOpen
fileName =(2) ’保存所打开的文件名
Set fso=CreateObjeet("Scripting.FileSystemObject")
Set ts=fso.OpenTextFile(fileName, ForReading)
If Not ts.AtEndOfStream Then
Text1.Text =(3)
End If
ts. Close
End Sub
’保存文本文件
Private Sub Command2_Click()
Set ts = fso.OpenTextFile(fileName, ForWriting)
(4)
ts.Close
End Sub
’查找字符串
Private Sub Command3_Cliek()
Dim search As String, position As Integer
search = InputBox("输入要查找的字符串:")
position = InStr(Text1.Text, search) ’在文本中查找字符串
If position >0 Then ’若找到指定的字符串
Text1.SelStart = position - 1 ’设置选定文本的起始位置
Text1.SelLength = Len(search) ’设置选定文本的长度
Else
MsgBox "没有发现要查找的字符串"
End If
End Sub
’替换选中的字符串
Private Sub Command4_Click()
Dim object As String
If (5) >0 Then ’若已经选中了要替换的文本
object = InputBox("输入要替换的字符串:")
Text1.SelText = object ’替换文本
Else
MsgBox "请先选中要替换的文本!"
End If
End Sub
’退出程序
Private Sub Command5_Click()
End
End Sub
阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
某银行新近开通外汇定期存款业务。为方便用户查询不同存款方式下的日利率、计算本利,特开发了日利率查询及本利计算程序,其运行窗口如下图所示。用户只要在界面上选择相应的存款方式(包括外汇币种、存期等),便可单击按钮一查询存款日利率。若输入一定数量的本金。程序还会根据所选择的存期计算并输出本利和。
在开发过程中,选择币种和存期的组合框(ComboBox)名分别为Combo1和Combo2,单旋钮 (CommandButton)“个人单位”和“金融机构”分别名为Option1和Option2,用于输入本金的文本框 (TextBox)名为Price,“输出日利率”和“计算本利和”按钮(CommandButton)分别名为Command1和 Command2。且已知,第i类币种、第j类存期之下,个人单位与金融机构的存款日利率分别存放于数组元素interestRate(i,j,0)和interestRate(i,j,1)中,其中i,j从0开始计数。
[Visual Basic代码]
Dim interestBate(50,10,2) As Single ’通用声明
Private Sub Form_Load()
…… ’为数组interestRate赋初值
End Sub
’根据所选择的币种、存期等信息确定日利率
Function getInterestRate()
Dim strCurrency, strTime As String, i, j, k, intDays As Integer
strCurrency = Combo1.Text
strTime = Combo2.Text
For i = 0 To Combol. ListCount - 1
If Combol.List(i) = strCurrency Then (1)
Next
For j = 0 To Combo2.ListCount - 1
IfCombo2.List(j) = strTime Then (1)
Next
If (2)=True Then
k=0
Else: k=1
End If
(3)= interestRate(i, j, k)
End Function
’输出日利率
Private Sub Commund1_Click()
MsgBox "日利率为" & getInterestRate()
End Sub
’输出本利和
Private Sub Command2_Click()
Dim strTime As String, intDays As Integer, sngCorpus, sngResult As Single
strTime = Combo2. Text
sngCorpus = CSng(Text1.Text)
(4) ’计算存款天数(以每月30天计)
Case "一个月" :intDays = 30
Case "三个月" :intDays = 90
Case "六个月" :intDays = 120
End Select
’计算并输出本利和
sngResult = sngCorpus +(5)
MsgBox "本利之和为:" & sngResult
End Sub
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
编写一个函数,输入为偶数时,调用函数求1/2+?/+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n (利用指针函数)。
[函数]
#include "stdio. h",
main()
{
float peven (),podd (),dcall ();
float sum;
int n;
while (1)
{
scanf("%d",&n);
if (n>1)
break;
}
if(n%2==0)
{
printf("Even="):
(1);
}
else
{
pfinff("Odd=");
(2);
}
printf("%f",sum);
}
float peven (int n)
{
float s;
int i
s=1;
for(i=2;i<=n;i+=2)
(3);
return (s);
}
float podd (n)
int n;
{
float s;
int i;
s=0;
for(i=1 i<=n;i+=2)
(4);
return (s);
}
float dcall(fp,n)
float (*fp) ();
int n;
{
float s;
(5);
returu (s);
}
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
若S和T是用结点大小为1的单链表存储的两个串,试设计一个算法找出S中第一个不在T中出现的字符。查找过程是这样的,取S中的一个字符(结点),然后和T中所有的字符一一比较,直到比完仍没有相同的字符时,查找过程结束,否则再取S中下一个字符,重新进行上述过程。
[函数]
typedef struct node {
char data;
struct node *next;
}LinkStrNode; //结点类型
typedef LinkStrNode *LinkString; //LinkString 为链串类型
LifikString S; //S 是链串的头指针
char SearchNoin ( LinkString S, LinkString T )
{//查找不在T中出现的字符
LinkStrNode *p, *q;
(1);
q=T;
while ((2))
{//取S中结点字符
while((3))//进行字符比较
q=q->next;
if(q==NULL) return (4);//找到并返回字符值
q=T;//指针恢复串T的开始结点
((5));
}
printf("there's no such character.");
return NULL:
}
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[函数2.1说明]
求任意两个正整数的最大公约数的欧几里德算法。用辗转相除法求正整数m和n的最大公约数,并返回该公约数。
[函数2.1]
void func1(int m, int n) {
r=m% n;
while(r<>0) {
(1);
n=r;
(2);
}
return n;
}
[函数2.2说明]
判断101~200之间有多少个素数,并输出所有素数。用一个数分别去除2到sqrt (这个数),如果能被整除,则表明此数不是素数,反之是素数。
[函数2.2]
void func2 ( ) {
int m, i, k, h=0,leap=1;
printf ( "\n" );
for ( m=101;m<=200;m++ )
{ (3);
for (i=2;i<=k; i++ )
if((4))
{leap=0;break;}
if ( leap )
{printf ( "%-4d",m );
(5);
if ( h%10==0 )
printf ( "\n" );
}
leap=1;
}
printf ( "\n The total is %d", h );
}
阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。
【说明】
在一个矩阵中,如果其零元素的个数大大多于其非零元素的个数时,称这样的矩阵为稀疏矩阵。若直接用一个两维数组表示稀疏矩阵,会因存储太多的零元素而浪费大量的内存空间。通常采用三元组数组表示稀疏矩阵。
稀疏矩阵的每个非零元素用一个二元组来表示:即非零元素的行号、列号和它的值。然后按某种顺序将全部非零元素的三元组存于一个数组中。例如对于以下两维数组。
int x[5][4]={{1,0,0,0},
{0,5,0,0},
{0,0,7,2},
{6,0,0,0},
{0,3,0,8}};
可用以下数组a来表示:
int a[][3]={{5,4,7},
{0,0,1},
{1,1,5},
{2,2,7},
{2,3,2},
{3,0,6},
{4,1,3},
{4,3,8}};
其中三元数组a的第1行元素的值分别存储稀疏矩阵x的行数、列数和非零元素个数。
下面的流程图描述了稀疏矩阵转换的过程。
【流程图】
注:流程图,循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。
高级经济师考试试题精选练习(1)
高级经济师考试模拟练习题之单选题(1
高级经济师考试试题精选练习(2)
高级经济师考试试题精选练习(3)
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟试题及答案
高级经济师考试试题及答案:单选练习题
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟题及答案练习(1)
高级经济师考试模拟题及答案练习(2)