阶乘

1.输出1~5的阶乘,运用静态变量

//输出1~5的阶乘值
#include <iostream>
using namespace std;
int fac(int);
int main()
{
	int i;
	for(i=1;i<=5;i++)
		cout<<i<<"!="<<fac(i)<<endl;
	system("pause");
	return 0;
}

int fac(int n)
{
	static int f=1;
	f=f*n;
	return f;
}

2.运用递归算法求n!

//输出1~5的阶乘值
#include <iostream>
using namespace std;
float fac(int);
int main()
{
	int i;
	float y;
	for(i=0;i<=5;i++)
	{
		y=fac(i);
		cout<<i<<"!="<<y<<endl;
	}
	system("pause");
	return 0;
}

float fac(int n)
{
	float f;
	if(n<0)
		cout<<"n<0 data error!"<<endl;
	else if(n==0 || n==1)
		f=1;
	else
		f=fac(n-1)*n;
	return f;
}

 

posted on 2011-09-12 17:21  齐威王  阅读(724)  评论(0编辑  收藏  举报

导航