1、程序设计与算法语言(电类) 2010级机试( B卷)(考试时间80分钟)说明:首先在网络Z盘建立一个以自己的学号+姓名命名的文件夹,在考试结束前根据机房要求,将要上交的源文件“学号-fb1.CPP”和“学号-fb2.CPP”复制到该文件夹中。注意:请在本机的D盘根目录上建立一个以自己学号命名的文件夹,将本次机试的两题所用的工程目录及文件均建立在此文件夹中。一、改错题 (50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。 请在修改的语句后依次加上:/错误1、/错误2、。【注意】源程序以“学号-fb1.cpp”命名,
2、存入自己学号文件夹,然后在“学号-fb1.cpp”源文件中改错。请不要直接在此WORD文档上修改。【题目】以下程序实现了对字符串的交换排序,初始字符串为“Visual Studio”,排序后输出字符串为“SVadiilostuu”。【含错误的源程序】#include using namespace std;void ExSort( char ); int main()int n=13; char listn=Visual Studio;cout未排序字符串:listendl; ExSort( list n ); cout已排序字符串:listnendl; return 0;void ExSor
3、t( char slistn) int i,j; char temp; for(i=0;i=i;j-) if(slistj slistj-1)temp=slistj;slistj=slistj-1;slistj-1=temp;二、编程题(50分) 【注意】源程序以“学号-fa2.cpp”命名,存入自己学号文件夹。【题目】以下程序定义了一个链表类List,其元素为double型数据结点。链表可以通过流运算符从当前目录中的文件“ListB.txt”中读取数据,再向控制台输出。【说明】本程序的执行流程是,创建链表对象并通过文件设置链表初值,然后向链表中添加一些数据。请按以上说明和要求将下面程序补充完
4、整,并调试运行。/此处添加代码 class List;ostream& operator(istream &, List &);class Nodepublic:double info; /数据域Node *next; /指针域Node( const double num=0.0 ) info=num; next=NULL; ;class ListNode *head, *tail;public:List();List();void Empty(); /清空整个链表List &operator+=(const Node &a); /在当前表的最后添加一个元素friend ostream& op
5、erator(istream &, List &); /用于从文件输入链表对象;List:List()/此处添加代码 List:List()Empty();delete head;void List:Empty()/此处添加代码 List& List:operator+=(const Node &a)/此处添加代码 ostream& operator(istream &fs,List &a)/此处添加代码 int main()List dlist; /创建链表fstream file;file.open(ListB.txt, ios:in);if( !file )cout Can not open input file!n dlist;file.close();file.clear();coutdlist;for(int i=1;i4;i+) /向链表中添加3个结点Node node(i*1.5);dlist += node;cout当前链表内容:endl;coutdlist; return 0;