问题及代码:
/*Copyright(c)2016,烟台大学计算机学院
all rights reserved.
作者:曹欣宇
完成日期:2016年11月20日
题目描述
用递归函数求奇数的阶乘
输入
正整数n
输出
前n项奇数的阶乘
样例输入
6
样例输出
15
*/
#include <stdio.h>
long fn(int);
int main()
{
int n;
long m;
scanf("%d",&n);
if(n%2)
m=fn(n);
else
m=fn(n-1);
printf("%ld",m);
return 0;
}
long fn(int n)
{
long m;
if(n==1)
return 1;
else
{
m=fn(n-2)*n;
return m;
}
}
运行结果:
知识点总结:通过学习,进一步巩固了递归函数。
学习心得:
一开始没有想到要对初始输入做处理,唉,还是功力不够啊。