用C语言编100以内的阶乘

如题所述

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 调试通过。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-28
  #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项阶乘。
第2个回答  2007-07-07
就算你设long也装不下的.100的阶乘太大了.你可以试试设double.
第3个回答  2007-07-07
#include <stdio.h>
void main()
{
int i;
int sum=1;
for(i=1;i<=100;i++)
{
sum=sum*i;
}
printf("%d",sum);
}
第4个回答  2019-06-24
  #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项阶乘。

用C语言程序求100的阶乘
{ int i,j,sum=1;int count=0;for(i=1;i<=100; i++){ sum=1;for(j=1;j<=i;++j){ sum*=j;} count+=sum;} printf("%d",count);}

1到100的阶乘 C语言程序
void main(){ int i,j;long fun ;for(i = 1;i<=100;i++){ fun =1;for(j=1;j<=i;j++)fun*=j;printf("%d! = %ld\\n",i,fun);} } 满意请采纳

100的阶乘在C语言中怎么编程(要求用while和for两种方法)?
include <stdio.h>int main(){ int a=100; double num=1.0;\/\/while 循环相乘实现阶乘while(a>0){ num *= a; a--;}printf("100!的结果:%le\\n",num);\/\/for循环相乘实现阶乘num=1;for(a=1;a<=100;a++){ num *= a;}printf("100!的结果:%le\\n",num);return...

C语言编程求100的阶乖,末尾有多少个零
以C语言的数据类型来求100的阶乘不造成数据过大溢出是不现实的,所以不能在求得100的阶乘之后再数它末尾有多少个0,只能在累乘的过程中遇到一个0就干掉,最后数总共干掉了多少个,至于由于溢出前面丢掉了多少位的数就管不了了,代码如下:main(){ long a=1;int i,n=0;for(i=2;i<=100;i++){ ...

c语言求1到100阶乘代码
void main(){ double j=1;for(int i=1;i<=50;i++)j*=i;printf("1到100的阶乘是%.0f\\n",j);} 下面用函数的递归调用做:include<stdio.h> double fact(int n)\/*求阶乘的函数*\/ { double j;if(n>1)j=n*fact(n-1);\/*递归调用,当n>1时,一直会调用下去,只不过每次参数被减1...

C语言怎样求1到100的阶乘和
下面小编给大家演示一下。1、首先打开Dev C++软件,新建C语言控制台项目,如下图所示 2、然后在main.c文件中输入计算阶乘的逻辑代码,如下图所示 3、接下来我们编译写好的C语言文件,如下图所示 4、最后执行C语言文件,我们就可以得到1到100的阶乘之和了,如下图所示 工具\/材料 Dev C++ ...

100的阶乘在C语言中怎么编程(要求用while和for两种方法)?
include "stdio.h"double WhileFun(){ double sum=1, i=1;while(i<=100){ sum*=i;i++;} return sum;} double ForFun(){ double sum=1,i=0;for(i=0;i<100;i++){ sum*=(i+1);} return sum;} void main(){ printf("%d\\n",ForFun());printf("%d\\n",WhileFun());} ...

怎么用C语言编写100以内任意整数的阶乘啊?
楼上都是典型半懂不懂的 自己算算100!是多少 是 9.3326215443944152681699238856267e+157 int支持的最大数字是 2147483647 long long支持的最大数字是 9223372036854775807 所以这题得上高精度..鉴定完毕 强烈bs楼上用int糊弄lz的行为

用C语言编写一个程序实现100的阶乘(要求采用函数调用方式实现)
long int nx_1(unsigned int x){ auto int i;auto long int temp;temp = 1;for(i=1;i<=x;i++)temp *= i;return temp;} 例如 a=nx_1(100);那么a 就是100阶乘值

怎么用c语言函数计算出1-100的阶乘之和?
void main(){ int i;double t=1,sum=0; \/\/由于100的阶乘int和long int都放不下.所以用double.for(i=1;i<=100;i++) \/\/从1循环到100.{ t = t * i; \/\/计算1~100的阶乘.sum = sum + t; \/\/将1~100的阶乘累加到sum中.} printf("%.0f\\n",sum); \/\/输出sum.} 利用for循环...

相似回答