编写程序,先定义一个函数fac,用递归方法计算整数n的阶乘;然后在主函数中定义并输入要计算阶乘的整数值,最后调用fac函数计算阶乘并将计算结果在屏幕上输出。
第1题:
请补充函数fun(),函数fun()的功能是求7的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
long fun(int n)
{
if(【 】)
return(n*fun(【 】);
else if(【 】)
return 1;
}
main()
{
int k=7;
printf("%d!=%ld\n", k, fun(k));
}
第2题:
此题为判断题(对,错)。
第3题:
下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!cn*(n-1)*...*2*1)
unsigned fact(unsigned n)
{
if (n<=1)
return 1;
return 【 】;
}
第4题:
设有一个递归算法如下 im fact(int n){ if(n<=0)return 1; else return n * fact(n-1); } 下面正确的叙述是(35)。
A.计算fact(n)需要执行n次函数调用
B.计算fact(n)需要执行n+1次函数调用
C.计算fact(n)需要执行n+2次函数调用
D.计算fact(n)需要执行n-1次函数调用
第5题:
请编写函数fun,其功能是:计算并输出
例如,在主函数中从键盘给n输入20后,输出为:s=534.188884。
注意:要求n的值大于1但不大于100。
部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
第6题:
编写程序,计算10的阶乘并输出运算结果。
第7题:
A.求整数n的阶乘
B.factorial(5)是函数调用
C.是递归函数
D.求任意两个数值n和n-1的乘积
第8题:
第9题:
下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*...*2*1)
unsigned fact (unsigned n)
{
if(n<=1)
retum 1;
return【 】;
}
第10题:
要求编写一个主函数,计算并输出12+22+...+n2值,其中n值由键盘输入。
略
第11题:
自定义函数fact的功能是计算k的阶乘,函数原型可以写作“floatfact(int)”。按照以下各小题的要求写出相应的函数原型。 ⑴自定义函数f1的功能是计算平面上任意两点之间的距离。 ⑵自定义函数swap的功能是交换调用函数中两个float类型实参变量的值。
第12题:
第13题:
A.称为函数的直接递归
B.称为函数的间接递归
C.称为函数的递归定义
D.C语言中不允许这样的递归形式
第14题:
下列给定程序中,函数fun()的功能是:计算整数n的阶乘。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
double fun(int n)
{
double result=l.0;
whil (n>l&&n<170)
/**************found********************/
result*=--n;
/**************found********************/
return;
main()
{int. n;
clrscr();
printf("Enter an integer: ");
scanf("%d",&n);
printf("\n\n%d!=%lg\n\n ",n, fun(n));
}
第15题:
有如下递归函数:
int Fun(int n){
if(n<=1) return 1;
______
}
请补充完整,使得函数Fun能够正确计算形参n的阶乘。
第16题:
请编写函数fun,其功能是:计算并输出下列多项式的值:
例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。
注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
第17题:
请补充fun()函数,fun()函数的功能是求n的阶乘。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。 试题程序:
第18题:
一个C程序由函数A、B、C和函数P构成,在函数A中分别调用了函数B和函数C,在函数B中调用了函数A,且在函数P中也调用了函数A,则可以说( )
A.函数B中调用的函数A是函数A的间接递归调用
B.函数A被函数B调用是函数A间接递归调用
C.函数P直接递归调用了函数A
D.函数P中调用的函数A是函数P的嵌套
第19题:
设n的初始值为正整数,设计一个递归算去如下: int fact (int n) { if (n<=0) return l; else return (n*fact (n-l)) ; 以下叙述中正确的是(49) 。
A.计算fact(n)需要执行n次函数调用
B.计算fact(n)需要执行n+l次函数调用
C.计算fact(n)需要执行n+2次函数调用
D.计算fact(n)需要执行n-l次函娄[调用
第20题:
下面是通过建立计算阶乘的自定义函数计算组合C(M,N)一M!/(N!*(M—N))!)的值,其中的M,N通过键盘输入。请在( )处填上正确的语句。
第21题:
第22题:
编程:计算6的阶乘
第23题:
关于递归定义的函数,下列说法正确的是()
第24题:
递归定义的函数一定是“递归计算”的
递归定义的函数一定是“迭代计算”的
有些递归定义的函数可以“迭代计算”,有些递归定义的函数则必须“递归计算”
凡是可以“迭代计算”的函数,一定可以“递归计算”,凡是可以“递归计算”的函数,也一定可以“迭代计算”