问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:求1*3*5*...*n的递归式.cpp
*作 者:白云飞
*完成日期:2014年11月17日
*版 本 号:v1.0
*
*问题描述:求1*3*5*...*n的递归式。
*程序输入:一个奇数
*程序输出:1*3*5*...*n的值
*/
#include<iostream>
using namespace std;
int fac(int n);//声明自定义函数
int main()//主函数
{
int n;//声明变量
cout<<"请输入一个奇数:"<<endl;
cin>>n;
cout<<fac(n)<<endl;//调用自定义函数并求出函数值
return 0;
}
int fac(int n)//自定义函数
{
int f;//声明变量
if (n==1) f=1;//判断语句
else f=n*fac(n-2);
return (f);//返回f的值
}
运行结果:
知识点总结:
函数的递归调用
学习心得:
和“求n!的阶乘”的代码相似,不过在自定义函数里,把n-1改成n-2,而且只能输入奇数。
本文介绍了一个用于计算1*3*5*...*n的C++递归程序,该程序仅适用于奇数输入,并通过递归方式计算乘积。

被折叠的 条评论
为什么被折叠?



