C++程序设计基础试卷期末复习题

导读:程序设计基础期末复习题,程序代码如下,程序设计基础期末复习题List=p;}cout<<\分解前:\displayList(List);cout<<\分解前链表的结点个数为:\cout<<\分解后B链表:\displayList(B);cout<<\分解后C链表:\displayList(C);cout<<\分解后D链表:\displayList(D);return0;}voiddisplay

C++程序设计基础试卷期末复习题

程序设计基础期末复习题

List=p; }

cout<<\分解前:\ displayList(List);

cout<<\分解前链表的结点个数为:\ cout<<\分解后B链表:\ displayList(B);

cout<<\分解后C链表:\ displayList(C);

cout<<\分解后D链表:\ displayList(D); return 0; }

void displayList(struct node *L) { //依次输出链表L的值 while(L) {

cout<data<<\ \ L = L->next; }

cout<

int DividList(LinkList A,LinkList &B,LinkList &C,LinkList &D)

{//分解A链表成链表B、C和D,B链表结点的值除3余0,C链表结点 //的值除3余1,D链表结点的值除3余2,并返回A链表中结点的个数 B = NULL; C = NULL; D = NULL; int count = 0; //记录A链表结点的个数 Lnode *p ,*Btail,*Ctail,*Dtail;

while( (1) ) //遍历A链表 {

(2) ; //结点个数增1 p = A;

A = (3) ;

if( (4) ) //余数为0的B链表 {

if(B == NULL) B = p; else Btail->next = p; Btail = p; }

else if( (5) ) //余数为1的C链表 {

if(C == NULL) C = p; else Ctail->next = p; Ctail = p; }

else //余数为2的D链表

程序设计基础期末复习题

{

if(D == NULL) D = p; else Dtail->next = p; Dtail = p; } }

if(B) Btail->next = NULL; if(C) Ctail->next = NULL; if(D) Dtail->next = NULL; return (6) ; }

16.数字三角形问题:给定一个由n行数字组成的数字三角形如图1所示。对于给定的由n行数字组成的数字三角形,编程计算从三角形的顶至底的路径经过的数字和的最大值。

7 3 8 8 1 0 2 7 4 4 4 5 2 6 5

图1

输入:

5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5

输出: 30

程序代码如下,请补充完整。 #include #include using namespace std;

int main(int argc, char *argv[]) {

int a[100][100];

//a[i][j]存储从顶走到第i+1行第j+1列元素时路径经过的数字最大和

int n,i,j,max;

(1) ; //读入三角形的行数 cin>>a[0][0]; //读入第1行的1个数字 for(i=1;i

cin>>a[i][j];

if(j==0) a[i][j] = (2) ; //第0列,只有从上到左下的求和路径 else if(i == j) a[i][j] = (3) ;

程序设计基础期末复习题

//对角线上,只有从上到右下的求和路径

else a[i][j] = (a[i-1][j-1]>a[i-1][j]?a[i-1][j-1]:a[i-1][j])+a[i][j];

//两条路径(左上和右上)中选择最大值,动态规划思想

}

max = (4) ; for(j=1;j

if(a[n-1][j]>max) (5) ; //求出最后一行的最大值,

cout<

五星文库wxphp.com包含总结汇报、人文社科、资格考试、外语学习、经管营销、文档下载、行业论文、办公文档、教程攻略、考试资料、word文档、党团工作以及C++程序设计基础试卷期末复习题等内容。

本文共6页1<<3456