[求助] 我的程序错在哪里?
设计一个可容纳40位数的求n!的程序
以下是我的程序,怎么输入25后,25的阶乘结果不正确呢?25以前的数是正确的
#include <iostream.h>
void main()
{
int Data[40];
int count=1;//数据的位数
int N;//用户输入值
cout<<"Please input N which you want to calculate:";
cin>>N;
cout<<"output data:"<<endl;
for(int i=0;i<N;i++)
{
Data[i]=0;
}
Data[0]=1;
for(i=1;i<=N;i++)
{
for(int j=0;j<count;j++)
{
Data[j]=Data[j]*i;
}
for(int k=0;k<count;k++)
{
if(Data[k]>=10)
{
if(Data[count-1]>=10)
{
count++;
}
Data[k+1]+=Data[k]/10;
Data[k]=Data[k]%10;
}
}
cout<<i<<"!:";
for(int m=count-1;m>=0;m--)
{
cout<<Data[m];
}
cout<<endl;
}
}