![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
(1) 在下面所给函数的适当地方插入计算count语句:while(i<n p="" {<=""
(1) 在下面所给函数的适当地方插入计算count语句:
while(i<n p="" {<="">
x[i]+=x[i+1]; i++;
}
}
(2)将由(1)所得到的程序化简。使得化简后的程序与化简前的程序具有相同的count值。
(3) 程序执行结束时的count值是多少?
(4)使用执行频度的方法计算这个程序的程序步数,画出程序步数统计表。
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
(1) 在下面所给函数的适当地方插入计算count语句:
while(i<n p="" {<="">
x[i]+=x[i+1]; i++;
}
}
(2)将由(1)所得到的程序化简。使得化简后的程序与化简前的程序具有相同的count值。
(3) 程序执行结束时的count值是多少?
(4)使用执行频度的方法计算这个程序的程序步数,画出程序步数统计表。
递归方法能用来定义增长很快的函数,下面定义的阿克曼函数就是这样。
试计算A(n,1),A(n,2),A(n,3),A(4,4).
圆排列问题描述如下:给定n个大小不等的圆,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切.圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列.例如,当n=3,且所给的3个圆的半径分别为1、1、2时,这3个圆的最小长度的圆排列见图5-9,其最小长度为
.
算法设计:对于给定的n个圆,计算最小长度圆排列.
数据输入:由文件input.txt提供输入数据.文件的第1行是1个正整数n,表示有n个圆.第2行有n个正数,分别表示n个圆的半径.
结果输出:将计算的最小长度输出到文件output.txt.文件的第1行是最小长度,保留5位小数.
A.返回数值中的最大值
B.可以计算数值的下限,比如用于计算员工迟到时间
C.返回数值中的最小值
D.表达式为=MAX(数值1,数值2,、、、),会返回TRUE或FALSE
试证下列各题中的函数是所给差分方程的解:
(1)(1+yn)yn+1=yn,yn=1/(n+3);
(2)yn+2+yn=0,
(3)yn+2-6yn+1+9yn=0,yn=n3n;
(4)yn+2-(a+b)yn+1+abyn=0,yn=C1an+C2bn。
class Matrix {
public:
Matrix(int row,int col); // 构造一个具有row 行col 列的矩阵
~Matrix() {delete []mem;} // 析构函数
friend bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3);
// 定义Multiply() 为友元函数,该函数把m1×m2的值赋给m3
// 其他成员函数从略
private:
int *mem; // 动态申请矩阵空间
const int rows,cols; // 矩阵的行数和列数
};
Matrix::Matrix(int row,int col):rows(row),cols(col)
{
mem = new int[row*col];
}
bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3)
{
// 确定矩阵是否能够进行相乘
if(m1.rows != m3.rows ||m2.cols != m3.cols || m1.cols != m2.rows) return false;
// 定义sum变量,用于计算乘积矩阵m3中每个元素的值
int sum;
// 请在下面编写剩余部分
}
A.函数可以很方便的实现特定的计算、统计等功能
B.在任何函数都可以包含子函数
C.它使用被称为参数的特定数值
D.函数就是预定义的内置公式
A.return语句中的表达式类型所决定
B.调用该函数时的主调用函数类型所决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型所决定