问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:n_.cpp
*作 者:单昕昕
*完成日期:2014年11月13日
*版 本 号:v1.0
*
*问题描述:求n!的值。
*程序输出:n!。
*/
#include <iostream>
using namespace std;
int fac(int n);
int main()
{
int n;
cout<<"请输入一个数:"<<endl;
cin>>n;
cout <<n<<"!="<<fac(n)<< endl; //调用函数输出n的阶乘
return 0;
}
int fac(int n)
{
int m;
if(n==1) //n为1的时候函数结束
m=1;
else
m=n*fac(n-1); //根据求阶乘的规则使用递归函数
return (m);
}
运行结果:
知识点总结:
递归函数求解阶乘。
学习心得:
以前用的是for语句求阶乘,现在这个方法真是高大上不少啊。