题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2024-01-11 01:45:24

[简答题]请编写一个函数comm(int n,int k),该函数将用递归算法计算从n个人中选择k个人组成一个委员会的不同组合数,由n个人里选k个人的组合数=由(n-1)个人里选k个人的组合数+由(n-1)个人里选(k-1)个人的组合数。 注意:部分源程序已存在文件test41_2.cpp中。 请勿修改主函数main和其他函数中的任何内容,仅在函数comm的花括号中填写若干语句。 源程序文件test41-2.cpp清单如下: #include<iostream.h> int comm(int n, int k) { } void main ( ) { int n=7, k=3; cout<<"n=7,k=3"<<endl; cout<<comm(n,k)<<endl; }

更多"请编写一个函数comm(int n,int k),该函数将用递归算法计"的相关试题:

[简答题]请编写一个函数comm(int n,int k),该函数将用递归算法计算从n个人中选择k个人组成一个委员会的不同组合数,由n个人里选k个人的组合数=由(n-1)个人里选k个人的组合数+由(n-1)个人里选(k-1)个人的组合数。
注意:部分源程序已存在文件test41_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数comm的花括号中填写若干语句。
源程序文件test41-2.cpp清单如下:
#include<iostream.h>
int comm(int n, int k)


void main ( )

int n=7, k=3;
cout<<"n=7,k=3"<<endl;
cout<<comm(n,k)<<endl;

[简答题]请编写一个函数inline long sum(int n),用递归函数完成运算:sum(n)=1*1+2*2+…n*n,递归表达式为 sum(n)=sum(n-1)+n2。
注意:部分源程序已存在文件test10_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件test10_2.cpp的内容如下:
#include<iostream.h>
inline long sum(int n)


void main( )

int n;
cout<<"输入n:";
cin>>n;
cout<<"结果为:"<<sum(n)<<endl;

[单项选择]设n的初始值为正整数,设计一个递归算法如下: int fact (int n) { if (n<=0) return 1; else return (n*fact(n-1)); } 以下叙述中正确的是______。
A. 计算fact(n)需要执行n次函数调用
B. 计算fact(n)需要执行n+1次函数调用
C. 计算fact(n)需要执行n+2次函数调用
D. 计算fact(n)需要执行n-1次函数调用
[单项选择]将一个递归算法改为对应的非递归算法时,通常需要使用______。
A. 栈
B. 队列
C. 循环队列
D. 优先队列
[简答题][说明]
下面的程序利用递归算法计算x和y的最大公约数。
[函数2.1]
main ( )
int x,y,k,t;
scanf(" % d% d" , &x, &y);
if(x>y) t=x;x=y; y=t;
(1) ;
while(k! =0)
y=x;
(2) ;
k=y%x;

prinff( "% d" ,x);
[函数2.2说明]
函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。
[函数2.2]
fun(ehar * str, char * substr)
int x,y,z;
(3) ;
for(x=0;str[ x] ! = ’/O’;x + + )
for(y=x,z=0;sabstr[z] = =str[y]; (4) ,y+ +)
if( (5) = =’/0’)
num + +;
break;

return(num);

[单项选择]设有一个递归算法如下
im fact(int n)
if(n<=0)return 1;
else return n * fact(n-1);下面正确的叙述是()。
A. 计算fact(n)需要执行n次函数调用
B. 计算fact(n)需要执行n+1次函数调用
C. 计算fact(n)需要执行n+2次函数调用
D. 计算fact(n)需要执行n-1次函数调用
[填空题][说明]
函数void convert(char *a,int n)是用递归方法将一个正整数n按逆序存放到一个字符数组a中,例如n=123,在a中的存放为’3’、’2’、’1’。
[函数2.1]
void convert(char *a,int n)
int i;
if((i=n/10)! =0) convert( (1) ,i);
*a= (2) ;

[函数2.2说明]
函数int index(char *s,char *t)检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。
[函数2.2]
int index(char *s, char *t)
int i,j=0;k=0;
for(i=0; s[i]!=’/0’;i++)
for ( (3) ;(t[k]!=’/0’)&&(s[j]!=’/0’) &&( (4) );j++,k++);
if( (5) ) return (i);

return (-1);


[单项选择]设有一个递归算法如下
int fact(intn)//n 大于等于0
if (n<=0)return 1;
else return n* fact(n--);
则计算fact (n)需要调用该函数的次数为()次。
A. n
B. n+1
C. n+2
D. n-1
[简答题]【说明】 函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。 【函数】 void QuickSort( int A[ ],int s,int t) { int i=s,j=t+1,temp; int x=A[s]; do{ do i ++ ;while (1) ; do j -- ;while(A[j]>x); if(i<j){temp=A[i]; (2) ; (3) ;} }while(i<j); A[a] =A[j];A[j] =x; if(s<i-1) (4) ; if(j+1<t) (5) ; }
[单项选择]

设求解某问题的递归算法如下:
F(int n)
if n=1
Move(1)
else
F(n-1);
Move(n);
F(n-1);
求解该算法的计算时间时,仅考虑算法Move所做的计算为主要计算,且Move为常数级算法。则算法F的计算时间T(n)的递推关系式为 (9) ;设算法Move的计算时间为k,当 n=4时,算法F的计算时间为 (10)

(9)处填()。
A. T(n)=T(n-1)+1
B. T(n)=2T(n-1)
C. T(n)=2T(n-1)+1
D. T(n)=2T(n+1)+1

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码