vc0608.cpp

来自「VC面向对象的学习教程」· C++ 代码 · 共 38 行

CPP
38
字号
// Example 6.8:利用数组计算阶乘
#include <iostream.h>
#define MAXSIZE  100
int lfac(int *a, int n)
{
	int sum,sc;
	for(int i=0;i<MAXSIZE;i++)
		a[i]=0;
	a[0]=1;
	for(i=2;i<=n;i++)
	{
		sc=0;
		for(int j=0;j<MAXSIZE;j++)
		{
			sum=a[j]*i+sc;		//上一次进位值和当前计算结果求和
			sc=sum/10;  			//存放进位数值
			a[j]=sum%10;			//将余数存入数组
		}
	}
	if(sc>0)
		return -1;
	else 
		return 0;
}
void main()
{
	int array[MAXSIZE];
	int a,n=50;
	a=lfac(array,n);
	if(a<0)
		cout<<"overflow"<<endl;
	else
	{
		for(int i=MAXSIZE-1;i>=0;i--)cout<<array[i];
		cout<<endl;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?