用C语言编100以内的阶乘

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:17:28

int n;
int r[600]={0};
int count(n)
{
int i;
for(i=0;i<600;i++)
r[i]*=n;
for(i=599;i>0;i--)
{
r[i-1]=r[i-1]+r[i]/10;
r[i]=r[i]%10;
}
}

int main()
{
int i;
int reach=0;
r[599]=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
count(i);
for(i=0;i<600;i++)
{if(r[i]) reach=1;
if(r[i]||reach) printf("%d",r[i]);
}
getchar();
getchar();
}

这个程序输入数,可以计算出它的阶乘。TURBO C 调试通过。

  #include <stdio.h>
  void main(){
  double res=1.0;
  int i;
  int n;
  scanf("%d",&n);
  for(i=1;i<=n;i++){
  res*=i;
  }
  printf("result=%lf",res);
  }
  利用for循环求出第n项阶乘。

就算你设long也装不下的.100的阶乘太大了.你可以试试设double.

#include <stdio.h>
void main()
{
int i;
int sum=1;
for(i=1;i<=100;i++)
{