问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:陈旭
* 完成日期:2014年 11 月 17 日
* 版 本 号:v1.0
*
* 问题描述:写出求1*3*...*n的递归式,并编写出递归函数求解
* 输入描述:所满足的递归方程式
* 程序输出:对应的n的阶乘
*/
#include<iostream>
using namespace std;
long fact(int n);
int main()
{
int n,i;
long m=1;
cout <<"输入一个奇数n: ";
cin >>n;
if(n%2!=0)
{
for (i=1; i<=n; i=i+2)
m=i*m;
cout <<m<<endl;
}
return 0;
}
运行结果:
知识点总结:
通过这个程序的编写,让我们更进一步认识递归方法,更让我们熟悉对for语句的合理运用与创新。
学习心得:
我就用了很简单的方法做出来的本题,可能没有另定义一个函数来表达,但是我觉得用哪种方法都是为了方便而用的,每题都有不同的方便的方法,让我们努力寻找。