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

题目

[主观题]

●试题七 阅读以下说明和C++代码,将解答写入答题纸的对应栏内。 【说明】 请编写一个函数int SeqS

●试题七

阅读以下说明和C++代码,将解答写入答题纸的对应栏内。

【说明】

请编写一个函数int SeqSearch(int list[],int start,int n,int key),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请修改程序中画线部分的错误并将不同情况下的输出结果补充完整。

【程序】

文件search.cpp的内容如下:

#include <iostream.h>

int SeqSearch(int list[],int start,int n,int key)

{

for(int i=start;i<=n;i++)// (1)

{

if(list[i]=key) // (2)

{

return i;

}

}

return -1;

}

void main()

{

int A[10];

int key,count=0,pos;

cout<<" Enter a list of 10 integers: ";

for(pos=0;pos<10;pos++)

{

cin>>A; // (3)

}

cout<<"Enter a key: ";

cin>>key;

pos=0;

while((pos=SeqSearch(A,pos,10,key))!=-1)

{

count++;

pos++;

}

cout<<key<<" occurs "<<count<<(count!=1?" times":" time")<<" in the list."<<endl;

}

第一种情况:输入2 3 12 6 8 45 8 33 7 输入key:8

输出: (4)

第二种情况:输入2 3 12 6 8 45 8 33 7 输入key:9

输出: (5)

查看参考答案
更多“●试题七 阅读以下说明和C++代码,将解答写入答题纸的对应栏内。 【说明】 请编写一个函数int SeqS”相关的问题

第1题

阅读以下说明和C++码,将应填入(n)处的字名写在对应栏内。 从下列的3道试题(试题五至试题七)中任选

阅读以下说明和C++码,将应填入(n)处的字名写在对应栏内。

从下列的3道试题(试题五至试题七)中任选1道解答。

如果解答的试题数超过1道,则题号小的1道解答有效。

[说明] 编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a: xxk1. dat”中。

(1)

include <fstream. h >

include < stdlib. h >

void main () {

(2)

if (! four) {

cerr < <“文件没有找开!” < <end1;

exit (1);

}

int x;

cin > >x;

while((3)){

(4)

cin> >x;

}

(5)

}

点击查看答案

第2题

试题六(共 15 分) 阅读以下说明和 C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明]

试题六(共 15 分)

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

[说明]

C++标准模板库中提供了 vector 模板类,可作为动态数组使用,并可容纳任意数据类型,其所属的命名空间为 std。vector模板类的部分方法说明如下表所示:

试题六(共 15 分) 阅读以下说明和 C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

[C++代码]

include <iostream>

include <vector>

using namespace (1) ;

typedef vector< (2) > INTVECTOR;

const int ARRAY_SIZE = 6;

void ShowVector(INTVECTOR &theVector);

int main(){

INTVECTOR theVector;

// 初始化 theVector,将 theVector的元素依次设置为 0 至 5

for (int cEachItem = 0; cEachItem < ARRAY_SIZE; cEachItem++)

theVector.push_back((3) );

ShowVector(theVector); // 依次输出 theVector中的元素

theVector.erase(theVector.begin() + 3);

ShowVector(theVector);

}

void ShowVector(INTVECTOR &theVector) {

if (theVector.empty()) {

cout << "theVector is empty." << endl; return;

}

INTVECTOR::iterator (4) ;

for (theIterator = theVector.begin(); theIterator != theVector.end(); theIterator++){

cout << *theIterator;

if (theIterator != theVector.end()-1) cout << ", ";

}

cout << endl;

}

该程序运行后的输出结果为:

0, 1, 2, 3, 4, 5

(5)

点击查看答案

第3题

●试题七 阅读以下说明和Java代码,将解答写入答题纸的对应栏内。 【说明】 下面程序的功能是找出

●试题七

阅读以下说明和Java代码,将解答写入答题纸的对应栏内。

【说明】

下面程序的功能是找出所有三位数中,个、十、百位数字的立方和等于该数本身的三位数并显示。在程序的每条横线处填写一个适当的词或语句,使程序的功能完整。

public (1) class cube_Root{

public static void (2) main(String args[]){

System.out.println("个、十、百位数字的立方和等于该数本身的三位数有:");

for(int n=100;n<1000;n++)

{

int a,b,c;

(3)

b=n/10%10;

(4)

if((5) )

System.out.println(n);

}

}

}

点击查看答案

第4题

●试题七 阅读以下说明和Java代码,将解答写入答题纸的对应栏内。 【说明】 下面的程序的功能是利

●试题七

阅读以下说明和Java代码,将解答写入答题纸的对应栏内。

【说明】

下面的程序的功能是利用实现Runnable接口的方法来创建线程,并利用它来执行响应的一些操作。最后使得m的执行结果:100,如图3。

●试题七 阅读以下说明和Java代码,将解答写入答题纸的对应栏内。 【说明】 下面的程序的功能是利●

注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。

class ClassName (1) Runnable{

int n;

(2) {

try{

Threa

D.sleep(2000);

n=100;

}catch((3) e){}

}

public static void main(String[]args){

try{

ClassName a=new ClassName();

(4)

thread1. (5) ();

thread1.join();

int m=A.n;

System.out.println("m="+m);

}catch((3) e){}

}

}

点击查看答案

第5题

试题五(共 15分) 阅读以下说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

试题五(共 15分)

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

【说明】

已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、umberOfElement()以及removeLastElement()。四个方法的含义分别为:

void addElement(Object): 在列表尾部添加一个对象;

Object lastElement(): 返回列表尾部对象;

int numberOfElement(): 返回列表中对象个数;

void removeLastElement(): 删除列表尾部的对象。

现需要借助LinkedList来实现一个Stack栈类,C++代码1和C++代码2分别采用继承和组合的方式实现。

【C++代码 1】

class Stack :public LinkedList{

public:

void push(Object o){ addElement(o); }; //压栈

Object peek(){ return (1) ; }; //获取栈顶元素

bool isEmpty(){ //判断栈是否为空

return numberOfElement() == 0;

};

Object pop(){ //弹栈

Object o = lastElement();

(2) ;

return o;

};

};

【C++代码 2】

class Stack {

private:

(3) ;

public:

void push(Object o){ //压栈

list.addElement(o);

};

Object peek(){ //获取栈顶元素

return list. (4) ;

};

bool isEmpty(){ //判断栈是否为空

return list.numberOfElement() == 0;

};

Object pop(){//弹栈

Object o = list.lastElement();

list.removeLastElement();

return o;

};

};

【问题】

若类LinkedList新增加了一个公有的方法removeElement(int index),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(int index)? (5) (A. 继承 B. 组合)

点击查看答案

第6题

试题七(共 15 分) 阅读以下说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明

试题七(共 15 分)

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

[说明]

java.util 库中提供了 Vector 模板类,可作为动态数组使用,并可容纳任意数据类型。该类的部分方法说明如下表所示:

试题七(共 15 分) 阅读以下说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏

[Java 代码]

import (1) ;

public class JavaMain {

static private final int (2) = 6;

public static void main(String[] args){

Vector<Integer> theVector = new Vector< (3) >();

// 初始化 theVector,将 theVector的元素设置为 0 至 5

for (int cEachItem = 0; cEachItem < ARRAY_SIZE; cEachItem++)

theVector.add((4) );

showVector(theVector); // 依次输出 theVector中的元素

theVector.removeElementAt(3);

showVector(theVector);

}

public static void showVector(Vector<Integer> theVector){

if (theVector.isEmpty()) {

System.out.println("theVector is empty.");

return;

}

for (int loop = 0; loop < theVector.size(); loop++) {

System.out.print(theVector.get(loop));

System.out.print(", ");

}

System.out.println();

}

}

该程序运行后的输出结果为:

0, 1, 2, 3, 4, 5

(5)

点击查看答案

第7题

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

●试题七

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

【说明】

以下程序的功能是设计一个栈类stack<T>,并建立一个整数栈。

【程序】

#include<iostream.h>

#include<stdli

B.h>

const int Max=20;∥栈大小

template<class T>

class stack{∥栈元素数组

T s[Max];∥栈顶下标

int top;

public:

stack()

{

top=-1;∥栈顶初始化为-1

}

void push(const T &item);∥item入栈

T pop();∥出栈

int stackempty()const;∥判断栈是否为空

};

template<class T>

void stack<T>::push(const T &item)

{

if(top== (1) )

{

cout<<"栈满溢出"<<endl;

exit (1) ;

}

top++;

s[top]=item;

}

template<class T>

T stack<T>::pop()

{

T temp;

if(top== (2) )

{

cout<<″栈为空,不能出栈操作″<<endl;

exit (1) ;

}

temp=s[top];

top--;

return temp;

}

template<class T>

int stack<T>::stackempty()const

{

return top==-1;

}

void main()

{

stack<int>st;

int a[]={1,2,3,4,5 };

cout<<"整数栈"<<endl;

cout<<"入栈序列:"<<endl;

for(int i=0;i<4;i++)

{

cout<<a[i]<<" ";

(3) ;

}

cout<<endl<<"出栈序列:";

while((4) )

cout<< (5) <<" ";

cout<<endl;

}

点击查看答案

第8题

试题一(15 分)阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。[说明]基本路径法设

试题一(15 分)

阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。

[说明]

基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执

行一次。以下代码由C++语言书写,请按要求回答问题。

void ReadPara(CString temp )

{

if (temp == ">=" )

m_oper.SetCurSel(0 );

else

{

if (temp == ">" )

m_oper.SetCurSel(1 );

else

{

if (temp == "==" )

m_oper.SetCurSel(2 );

else

{

if (temp == "<=" )

m_oper.SetCurSel(3 );

else

{

if (temp == "<" )

m_oper.SetCurSel(4 );

else

m_oper.SetCurSel(5 );

}

}

}

}

return;

}

[问题1](6 分)

请画出以上代码的控制流图。

[问题2](3 分)

请计算上述控制流图的环路复杂度 V(G)。

[问题3](6 分)

请使用基本路径测试法为变量 temp 设计测试用例,使之满足基本路径覆盖要求。

点击查看答案

第9题

●试题七 阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 设计一个

●试题七

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

【说明】

设计一个评选优秀教师和学生的程序,其类结构如图6所示。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。

●试题七 阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 设计一个

图6

【程序】

include<iostream.h>

include<stdio.h>

enum boolean{False,True};

class base

{

protected:

char name[8];

public:

void getname(){cout<<"姓名:";cin>>name;}

void printname(){cout<<"姓名:"<<name<<endU3

virtual boolean isgood()=0;

}

class student: (1)

{

int num;

public:

void getnum()

{

cout<<"考试成绩:"; cin>>num;

}

boolean isgood(){return (2) ;}

};

class teacher: (3) public base

{

int num;

public:

void getnum()

{

cout<<"每年发表论文数:";cin>>num;

}

boolean isgood(){return (4) ;}

};

void main()

{

base*p[50 ];

student*pstud;

teacher*ptech;

char ch;

int count=0;

do

{

cout<<"输入教师(t)或学生(s):";

cin>>ch;

if(ch==′s′)

{

pstud=new student;

pstud->getname();

pstud->getnum();

p[count++]=pstud;

}

else if(ch==′t′)

{

ptech=newteacher;

ptech->getname();

ptech->getnum();

p[count++]=ptech;

}

else

cout<<"输入错误"<<endl;

cout<<"继续输入吗(Y/n)";

cin>>ch;

}while(ch==′y′);

for(int i=0;i<count;i++)

{

if((5) )∥若为优秀,则输出

p[i]->printname();

}

}

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

1. 搜题次数扣减规则:

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

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

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

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

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

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

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