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