📄 vc0608.cpp
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -