您的位置:首页 > 其它

第十二周项目 3 用递归方法求解(1*3*...*n的递归式)

2014-11-16 16:38 239 查看
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称 :main.cpp
*作    者 :韩娟
*完成日期 :2014年11月16日
*版 本 号 :v1.0
*
*问题描述 :写出1*3*...*n的递归式,并编写出递归函数求解
*输入描述 :输入一个整数
*程序输出 :它的结果
*/
#include <iostream>

using namespace std;
long fact(int);

int main()
{
int n;
long y;
cout<<"请输入一个奇数"<<endl;
cin>>n;
if(n%2==0)
{
cout<<"输入错误,请输入一个奇数"<<endl;
cin>>n;
y=fact(n);
}
else
{
y=fact(n);
}
cout<<"1*3*...*"<<n<<"的结果为:"<<y<<endl;
return 0;
}
long fact(int n)
{
long f;
if(n==1) f=1;
else
{
f=n*fact(n-2);
}
return f;
}




知识点总结 :

这是一个递归的方式来进行的计算,首先要明确输入的一个是奇数,这是题目隐含的条件。

学习心得:

这个程序比起上一个程序就是改动了一小点地方,要多多用心。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: