更多"试写出将给定的一个正整数如8479按其反序9748输出的一个递归函数"的相关试题:
[填空题]
下面是一个递归函数,其功能是使数组中的元素反序排列。请将函数补充完整。
void reverse(int *a, int size){
if(size<2) return;
int k=a[0];
a[0]=a[size-1];
a[size-1]=k;
reverse(a+1, 【9】 );
}
[单项选择]堆排序分为两个阶段,其中第一阶段将给定的序列建成一个堆,第二阶段逐次输出堆顶元素。设给定序列48,62,35,77,55,14,35,98),若在堆排序的第一阶段将该序列建成一个堆(大根堆),那么交换元素的次数为( )。
A. 5
B. 6
C. 7
D. 8
[单项选择]一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程()。
A. 相同
B. 较慢
C. 较快
D. 无法确定
[填空题]
下列程序的功能是:输出10到100之间的所有回文素数。所谓回文素数是指,如果一个数是素数,则该数反序后形成的数也是素数。例如,13是素数,13反序形成得到数为31,31也是素数,则称13为回文素数。请在程序的横线处填写适当的语句,使程序完成指定的功能。
Private Sub Command12_Click ( )
Dim k As Integer, m As Integer, n As Integer
For k = 10 T0 100
If prim (k) Then
m=()
n = O
Do While m>0
n = n * 10 + m mod 1O
m=m/10
Loop
If prim (n) Then
MsgBox k & "," & n
End If
End If
Next k
End Sub
Public Function prim (n As Integer) As Boolean
Dim j As Integer
For j = 2 TO n / 2
If n Mod j = 0 Then
prim =()
Exit Function
End If
Next j
prim = True
Exit Function
End Function
m=()
[单项选择]将一个递归算法改为对应的非递归算法时,通常需要使用 (44) 。
A. 优先队列
B. 队列
C. 循环队列
D. 栈
[单项选择]将一个递归算法改为对应的非递归算法时,通常需要使用______。
A. 栈
B. 队列
C. 循环队列
D. 优先队列
[填空题]递归调用的基本思想就是 【7】 ,一个使用递归技术的方法将直接或间接地调用自身的方法。
[填空题]递归调用的基本思想就是自己调用自己,一个使用递归技术的方法将直接或间接地调用 【9】 的方法。
[填空题]递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将直接或间接地调用 【7】 的方法。
[单项选择]用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为()。
A. n
B. n/2
C. 10g2n
D. 10g2(n+1)
[填空题]
用递归方法写出计算n的阶乘的函数,调用该函数计算并输出n=0,1,2,……,10时各阶乘的值。 计算公式: long fac(int n) {
if(______)return(1);/*第一空*/
else return______;/*第二空*/
} main( ) {
int m;
long int fa;
for(m=0;m<=10;m++) {
______;/*第三空*/
printf ("%d!=%1d/n",m,fa);
}
}
[填空题]下列程序的功能是:单击窗体时随机生成20个两位数依次赋值给一个由20个元素组成的数组,然后把数组反序存放,再输出。
Option Base 1
Private Sub Form Click( )
Dim a(20)As Integer,i As Integer
Dim t As Integer,j As Integer
Randomize
For i=1 To 20
a=10+Int(90*Rnd)
Print a(i);
Next
Print
i=1: 【4】
Do While i<j
t=a(i): 【5】 a(j)=t
i=i+1: j=j-1
Loop
For i=1 To 20
Print a(i);
Next i
Print
End Sub
[简答题]简单应用题
请编写一个函数inlinelongsum(intn),用递归函数完成运算:sum(n)=1*1+2*2++n*n,递归表达式为sum(n)=sum(n-1)+n2。
注意:部分源程序已存在文件kt10_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件kt10_2.cpp的内容如下:
#include
inlinelongsum(intn)
{
}
voidmain( )
{ intn;
cout<<"输入n:";
cin>>n;
cout<<"结果为:"<