问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 11 月 15 日
* 版 本 号:v1.0
*
* 问题描述:编写递归函数求出求1*3*...*n的递归式。
* 输入描述:一个奇数。
* 程序输出:他的阶乘
*/
#include <iostream>
using namespace std;
int factorial(int x);
int main()
{
int n;
cout<<"请输入一个奇数";
cin>>n;
if(n%2==0)
cout<<"错误!请输入奇数";
else
cout<<"他的1*3*..*n的递归式为"<<factorial(n)<<endl;
return 0;
}
int factorial(int x)
{
int m,sum;
if(x==1)
return 1;
else
{
m=factorial(x-2);
sum=m*x;
}
return sum;
}
运行结果: