当前位置: 代码迷 >> C语言 >> 刚学C,求教一题!
  详细解决方案

刚学C,求教一题!

热度:94   发布时间:2006-07-20 14:22:01.0
用数组来装,请楼主搜下论坛,这样的帖子论坛有不少,我编过。
另:100的级数就是指100!?我以为是100!的位数呢?

----------------解决方案--------------------------------------------------------
哦,是我看差了,原来是100的级数,那就是100!,我还以为是100!的级数,不好意思。
----------------解决方案--------------------------------------------------------
我认为要做这道题不是很容易。
是个大数的乘法。
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void cal_fal(int result[],int n,int num)
{
int i=1,j,k;
while(i<=num)
{
if(i==1)
result[0]=1;
for(k=0;k<n;k++)
result[k]*=i;
i++;
for(j=0;j<n;j++)
if(result[j]>=10)
{
result[j+1]+=result[j]/10;
result[j]%=10;
}
}
}
main()
{
int result[500]={0};
int i,k;
int num;
printf("Please input a number:");
scanf("%d",&num);
cal_fal(result,500,num);
i=499;
while(result[i]==0)
i--;
for(k=i;k>=0;k--)
printf("%d",result[k]);
getch();
}
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-21 00:43:43
jinyan8384

等 级:新手上路
帖 子:6
专家分:0
注 册:2006-7-21
  得分:0 
楼主不厚道!
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
肯定是溢出了
换成:
long double sum=1.0;
printf("%lf\n",sum);
试一试
呵呵,也请各位指教

----------------解决方案--------------------------------------------------------
  相关解决方案