《11-12程序設(shè)計及算法語言Ⅱ上級考試試卷B(電類)》由會員分享,可在線閱讀,更多相關(guān)《11-12程序設(shè)計及算法語言Ⅱ上級考試試卷B(電類)(4頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、程序設(shè)計與算法語言Ⅱ(電類) 2010級機(jī)試( B卷)
(考試時間80分鐘)
說明:首先在網(wǎng)絡(luò)Z盤建立一個以自己的學(xué)號+姓名命名的文件夾,在考試結(jié)束前根據(jù)機(jī)房要求,將要上交的源文件“學(xué)號-fb1.CPP”和“學(xué)號-fb2.CPP”復(fù)制到該文件夾中。
注意:請在本機(jī)的D盤根目錄上建立一個以自己學(xué)號命名的文件夾,將本次機(jī)試的兩題所用的工程目錄及文件均建立在此文件夾中。
一、改錯題 (50分)
【要求】調(diào)試程序,修改其中的語法錯誤及少量邏輯錯誤。只能修改、不能增加或刪除整條語句,但可增加少量說明語句和編譯預(yù)處理指令。
★ 請在修改的語句后依次加上://錯誤1、//錯誤2、……。
2、【注意】源程序以“學(xué)號-fb1.cpp”命名,存入自己學(xué)號文件夾,然后在“學(xué)號-fb1.cpp”源文件中改錯。請不要直接在此WORD文檔上修改。
【題目】以下程序?qū)崿F(xiàn)了對字符串的交換排序,初始字符串為“Visual Studio”,排序后輸出字符串為“SVadiilostuu”。
【含錯誤的源程序】
#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é)號-fa2.cpp”命名,存入自己學(xué)號文件夾。
【題目】以下程序定義了一個鏈表類List,其元素為double型數(shù)據(jù)結(jié)點。鏈表可以通過流運算符從當(dāng)前目錄中的文件“ListB.txt”中讀取數(shù)據(jù),再向控制臺輸出。
【說明】本程序的執(zhí)行流程是,創(chuàng)建鏈表對象并通過文件設(shè)置鏈表初值,然后向鏈表中添加一些數(shù)據(jù)。請按以上說明和要求將下面程序補(bǔ)充完整,并調(diào)試運行。
//此處添加代碼
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(); //清空整個鏈表
List &operato
6、r+=(const Node &a); //在當(dāng)前表的最后添加一個元素
friend ostream& operator<<(ostream &, List &); //用于直接輸出鏈表對象
friend istream& operator>>(istream &, List &); //用于從文件輸入鏈表對象
};
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<