《11-12程序設(shè)計(jì)及算法語(yǔ)言Ⅱ上級(jí)考試試卷B(電類)》由會(huì)員分享,可在線閱讀,更多相關(guān)《11-12程序設(shè)計(jì)及算法語(yǔ)言Ⅱ上級(jí)考試試卷B(電類)(4頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、程序設(shè)計(jì)與算法語(yǔ)言Ⅱ(電類) 2010級(jí)機(jī)試( B卷)
(考試時(shí)間80分鐘)
說(shuō)明:首先在網(wǎng)絡(luò)Z盤(pán)建立一個(gè)以自己的學(xué)號(hào)+姓名命名的文件夾,在考試結(jié)束前根據(jù)機(jī)房要求,將要上交的源文件“學(xué)號(hào)-fb1.CPP”和“學(xué)號(hào)-fb2.CPP”復(fù)制到該文件夾中。
注意:請(qǐng)?jiān)诒緳C(jī)的D盤(pán)根目錄上建立一個(gè)以自己學(xué)號(hào)命名的文件夾,將本次機(jī)試的兩題所用的工程目錄及文件均建立在此文件夾中。
一、改錯(cuò)題 (50分)
【要求】調(diào)試程序,修改其中的語(yǔ)法錯(cuò)誤及少量邏輯錯(cuò)誤。只能修改、不能增加或刪除整條語(yǔ)句,但可增加少量說(shuō)明語(yǔ)句和編譯預(yù)處理指令。
★ 請(qǐng)?jiān)谛薷牡恼Z(yǔ)句后依次加上://錯(cuò)誤1、//錯(cuò)誤2、……。
2、【注意】源程序以“學(xué)號(hào)-fb1.cpp”命名,存入自己學(xué)號(hào)文件夾,然后在“學(xué)號(hào)-fb1.cpp”源文件中改錯(cuò)。請(qǐng)不要直接在此WORD文檔上修改。
【題目】以下程序?qū)崿F(xiàn)了對(duì)字符串的交換排序,初始字符串為“Visual Studio”,排序后輸出字符串為“SVadiilostuu”。
【含錯(cuò)誤的源程序】
#include
using namespace std;
void ExSort( char []);
int main()
{
int n=13;
char list[n]="Visual Studio";
cout>>"未排序字符串:
3、"<=i;j--)
if(slist[j]< slist[j-1])
{
temp=slist[j];
slist[j]=slist[j-1];
s
4、list[j-1]=temp;
}
}
}
二、編程題(50分)
【注意】源程序以“學(xué)號(hào)-fa2.cpp”命名,存入自己學(xué)號(hào)文件夾。
【題目】以下程序定義了一個(gè)鏈表類List,其元素為double型數(shù)據(jù)結(jié)點(diǎn)。鏈表可以通過(guò)流運(yùn)算符從當(dāng)前目錄中的文件“ListB.txt”中讀取數(shù)據(jù),再向控制臺(tái)輸出。
【說(shuō)明】本程序的執(zhí)行流程是,創(chuàng)建鏈表對(duì)象并通過(guò)文件設(shè)置鏈表初值,然后向鏈表中添加一些數(shù)據(jù)。請(qǐng)按以上說(shuō)明和要求將下面程序補(bǔ)充完整,并調(diào)試運(yùn)行。
//此處添加代碼
class List;
ostream& operator<<(ostream & ,List
5、& );
istream& operator>>(istream &, List &);
class Node
{
public:
double info; //數(shù)據(jù)域
Node *next; //指針域
Node( const double num=0.0 ) { info=num; next=NULL; }
};
class List
{
Node *head, *tail;
public:
List();
~List();
void Empty(); //清空整個(gè)鏈表
List &operato
6、r+=(const Node &a); //在當(dāng)前表的最后添加一個(gè)元素
friend ostream& operator<<(ostream &, List &); //用于直接輸出鏈表對(duì)象
friend istream& operator>>(istream &, List &); //用于從文件輸入鏈表對(duì)象
};
List::List()
{
//此處添加代碼
}
List::~List()
{
Empty();
delete head;
}
void List::Empty()
{
//此處添加代碼
7、
}
List& List::operator+=(const Node &a)
{
//此處添加代碼
}
ostream& operator<<(ostream &os, List &a)
{
//此處添加代碼
}
istream& operator>>(istream &fs,List &a)
{
//此處添加代碼
}
int main()
{
List dlist; //創(chuàng)建鏈表
fstream file;
file.open("ListB.txt", ios::in);
if( !file )
{
cout << "Can not open input file!\n" << endl;
return 0;
}
file>>dlist;
file.close();
file.clear();
cout<