题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2024-02-12 18:03:11

[单项选择]设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次函数调用

更多"设n的初始值为正整数,设计一个递归算法如下: int f"的相关试题:

[填空题][说明]
函数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);


[简答题]设有一个带头结点的循环单链表,其结点值均为正整数。试设计一个算法,反复找出单链表中结点值最小的结点,并输出之,然后将该结点从中删除,直到单链表空为止,最后再删除表头结点。
给出算法的基本设计思想;
[单项选择]设有一个递归算法如下
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次函数调用
[简答题]请编写一个函数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; }
[单项选择]正整数对于()相当于()对于整数
A. 质数 合数
B. 有理数 自然数
C. 自然数 负数
D. 正数 负数
[单项选择]一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程( )。
A. 相同
B. 较慢
C. 较快
D. 无法确定
[简答题]在文件in33.dat中有200个正整数,且每个正整数均在1000至9999之间。函数readDat( )的功能是读取这200个数并存放到数组aa中。请编制函数jsSort( ),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存入数组bb中,如果数组bb中出现后3位相等的数,则对这些数按原始 4位数据进行降序排列,最后调用函数writeDat( )把结果bb输出到文件out33.dat中。
例如:处理前6012 5099 9012 7025 8088
处理后9012 6012 7025 8088 5099
注意:部分源程序已给出。
请勿改动主函数main( )、读函数readDat( )和写函数writeDat( )的内容。
试题程序:
# include<stdio. h>
# include<string. h>
#include<conio. h>
int aa[200] ,bb[10];
void readDat ( );
void writeDat( );
void jsSort( )

void main ( )

readDat ( );
jsSort ( );
writeDat ( );

void readDat ( )

FILE *in;
int i;
in=fopen ("in33 .dat" , "r" );
for(i=0;i<200;i++) fscanf (in, "%d ".&aa[i]);
fclose (in);

void writeDat ( )

FILE *out;
int i;
clrscr ( );
out =fopen ("out33 .dar" , "w" );
for (i=0; i<10; i++)

printf ("i=%d, %d/n", i+1, bb[
[多项选择]在文件in33.dat中有200个正整数,且每个正整数均在100至9999之间。函数readDat( )的功能是读取这 200个数并存放到数组aa中。请编制函数jsSort( ),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存入数组bb中,如果数组比中出现后3位相等的数,则对这些数按原始4位数据进行降序排列。最后调用函数writeDat( )把结果比输出到文件out33.dat中。
例如:处理前6012 5099 9012 7025 8088
处理后9012 6012 7025 8088 5099
注意:部分源程序已给出。
请勿改动主函数main( )、读函数readDat)和写函数writeDat( )的内容。
试题程序:
#include
9include
#include
int aa[200],bb[10];
void readDat( );
void writeDat( );
void jsSort( )


void main( )

readDat( );
jsSort( );
writeDat( );

void readDat ( )

FILE *in;
int i;
in=fopen (" in33. dat", "r" );
for(i=0;i<200;i++) fscanf (in,"%d ",&aa[i]);
fclose (in);

void writeDat( )

FILE *out;
int i;
clrscr ( );
out=fopen ( "out33. dat", "w" );
for (i=0;i<10; i++)

printf
[多项选择]已知文件IN.DAT中存有若干个小于200的四位正整数,函数ReadDat( )读取若干个正整数并将其存入数组xx中。请编制函数CalValue( ),其功能要求:求出这个文件中共有所少个正整数totNum;求这些数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz;最后调用函数writeDat( )把求出的结果输出到文件OUT.DAT中。
注意:部分源程序已经给出。
请勿改动主函数main( )、读函数ReadDat( )和写函数writeDAT( )的内容。
[试题源程序]
#inciude<stdio.h>
#include<conio.h>
#define MAXNUM 200
int xx[MAXNUM];
int totNum=0;
int totCnt=0;
double totPjz=0.0;
int ReadDat(void);
void writeDat(void);
void CaiVaiue(void)


void main( )

int i;
system("cls");
for(i=0;i<MAXNUM;i++) xx[i]=0;
if(ReadDat( ))

printf("数据文件IN.DAT不能打开!/007/n");
return;

CalValme( );
printf("文件IN.DAT中共有正整数=%d个/n",totNum);
printf("符合条件的正整数的个数=%d个/n",totCnt);
printf("平均值=%.2f/n",totpjZ);
writeDat( );

int ReadDat(void)

FILE *fp;
int i=0;
if((fp=fopen("IN.DAT","r"))==NULL) return 1;
while(!feof(fp))

fscan
[单项选择]一个递归的定义可以用递归的过程求解,通常递归的执行过程是()的。
A. 高效
B. 低效
C. 高质量
D. 低质量

我来回答:

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

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码