/*
*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;
}
知识点总结 :
这是一个递归的方式来进行的计算,首先要明确输入的一个是奇数,这是题目隐含的条件。
学习心得:
这个程序比起上一个程序就是改动了一小点地方,要多多用心。