资源描述:
《c++习题参考答案2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章一、简答题1.答:链表是一种重要的数据结构,是一种动态分配内存的结构。相对来说,用数组不能实现动态存储。当用数组来进行数据存储时,必须事先确定固定的长度;而链表是一组结点的序列,每个结点是由系统存储到不同的地址空间的。它们之间的连接是由指针实现的。插入和删除一个结点是非常容易的,而且链表比数组能表示更复杂的数据类型。插入和删除一个结点的基本方法就是,首先对链表进行遍历,找到需要插入的地方或需要删除的结点,然后改变相邻结点指针的连接关系就可以了。2.答:该程序实现了一个时钟的显示。首先定义了一个结构clock,包括三个整形成
2、员hour,minute,second来表示时间,并且定义了clock型的变量aClock。在主程序中,首先对aClock各成员赋值,然后循环10000次,每次循环调用一次子函数updata()和display(),用来计时和显示时间。 程序的输出结果是: 0:0:1 0:0:2 0:0:3 0:0:4 . . . 0:0:59 0:1:0 0:1:1 . . . 0:59:59 1:0:0 . . .2:46:40二、编程题1、#include#include3、manip.h>#includestructStudent{intcode;14charname[20];intcj1;intcj2;};voidmain(){Studenta[10]={{8311001,"Smith",56,87},{8512901,"Kerry",43,87},{9022101,"Levy",89,99},{8508020,"Doris",87,64},{8881232,"Ella",76,67},{9123001,"Carrie",56,98},{8100825,"Barbara",7
4、6,67},{9012120,"Carmen",76,70},{8712001,"Brice",90,98},{8100923,"Auden",80,85}};intzcj[10];for(inti=0;i<10;i++)zcj[i]=a[i].cj1+a[i].cj2;intmax,k;for(i=0;i<3;i++){max=0;k=0;for(intj=0;j<10;j++)if(max5、#include#include14structStudent{intcode;charname[20];charsex;unsignedage;};structNode{intcode;charname[20];charsex;unsignedage;;Node*next;};voidInsert(Node*&head,Node*&t){if(!head
6、
7、t->age>head
8、->age){t->next=head;head=t;return;}for(Node*p=head;p->next;p=p->next)if(t->age>p->next->age)break;t->next=p->next;p->next=t;}voidDisplay(constNode*&head){cout<next)cout<code<name<9、<<(p->sex=='M'?"male":"female")<age<10、,"Carmen",'M',20},{8712001,"Brice",'M',19},{8100923,"Auden",'M',20}};Node*first=NULL;for(inti=0;i<10;i++){Node*pN=newNode;pN->code=