一、选择题
1、下列叙述中正确的是______。
A.每一个结点有两个指针域的链表一定是非线性结构
B.所有结点的指针域都为非空的链表一定是非线性结构
C.循环链表是循环队列的链式存储结构
D.线性结构的存储结点也可以有多个指针
2、使用白盒测试方法时,设计测试用例应根据______。
A.程序的内部逻辑 B.程序的复杂结构 C.程序的功能 D.使用说明书
3、在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗。则实体医生和患者之间的联系是______。
A.多对多 B.多对一 C.一对多 D.一对一
4、设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是______。
&nb ……此处隐藏27107个字…… /p>
[解析] (1)使用for循环计算公式,必须计算到m,所以应改为for(i=2;i<=m;i++)。
(2)在除法运算中,如果除数和被除数都是整数,那么所除结果也是整数,因此应改为y-=1.0/(i*i)。
四、程序设计题
45、double fun(int n)
{
double sum=0.0;
int i;
for(i=21;i<=n;i++)
{
if((i%3==0)&&(i%7==0))sum+=i;//同时能被3与7整除
}
return sqrt(sum);
}
答案考生文件夹
[解析] 本题考查算术运算的算法,首先利用一个for循环判断小于n且能同时被3和7整除的整数,并将满足条件的整数累加到sum,之后调用sqrt函数计算sum的平方根,并作为函数的返回值。