实验11 函数的嵌套和递归调用
截止时间:6.12 23:59前
填空题
以下程序的功能是:通过调用一个用递归方式实现的求整数n的阶乘函数double
1.fac(int n),计算并输出从1到n的阶乘之和,即s=1!+2!+...+n!,n的值从键盘输入(n<11)。
#include
double fac(int n)
{ double f;
if( ) f=1;
else f=;
return f;
}
main()
double s=0;{
int i,n;
scanf(%d,&n);
for(i=1;i<=n;i++)
s=;
printf(s=%.2lf,s);
}
输入、输出示例:
下程序的功能是:从键盘输入一个十进制正整,通过调用一个递归函int
2order(int n实现对整按位顺序输出
输入输出示例
#include
void order(int n)
{ if(n<10)
printf(%d,n);
else
{ ;
;
} }
void main()
{ int n;
scanf(%d,&n);
printf(out:)
order(n);
编程题
1. 【问题描述】
按以下所给的公式计算并输出组合数:
要求:
①分别编写一个求阶乘n!的函数int fac(int n)、一个求组合数函数int
cnm(int n,int m);
②编写主函数,由键盘输入n和m(n不得小于m,否则显示“input error”),通过嵌套调用①中的函数完成计算。
【输入形式】
程序片段编程题
1. 【问题描述】教材P262第10章课后习题题三(6):递归方法求Fibonacci数列第n项,试完成递归函数的程序代码编写。
【输入形式】输入正整数n。
【输出形式】输出Fibonacci数列的第n项。
【样例输入】 【样例输出】 【样例说明】 【评分标准】
#include stdio.h
int fib(int n)
{
}
int main()
{ int n;
scanf(%d,&n);
printf(NO%d=%d\n,n,fib(n));
return 0;
}
2. 【问题描述】教材P262第10章课后习题题三(7):递归方法实现十进制显示为二进制形式。
【输入形式】输入十进制整数。
【输出形式】输出该数的二进制形式。
【样例输入】 【样例输出】 【样例说明】 【评分标准】
#include stdio.h
void dec2bin(int n)
{
}
int main()
{ int n;
scanf(%d,&n);
dec2bin(n);
printf(\
);
return 0;
}