C语言1到20的阶乘

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言1到20的阶乘相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<stdlib.h>
int unit51()

int i=20,z=20,h=1,sum=0;
for (;z<=1;)


while(i>0)



h=i*h;
i--;


sum=sum+h;
z--;
i=z;


printf("1到20的阶乘和为:\n",sum);
return 0;

做出来不显示结果- -。

你的程序有点乱,也有的错的地方,比如一开始的int unit51()不应该是int main()吗?还有倒数第三行printf("1到20的阶乘和为:\n",sum);也是错的,应该改为printf("1到20的阶乘和为:%d\n",sum);但是貌似这样最后输出的也只有一个数而不是1到20的阶乘,最后一点,20的阶乘是一个非常大的数,用int根本不行。程序就不给你改了,需要的话我给你写一个。追问

那你写吧- -、

追答#include "stdio.h"
void main()

  int i;
  double M=1;
  for(i=1;i<=20;i++)
  
   M=M*i;
   printf("%2d!=%.0f\\n",i,M);
  
 
结果:
 1!=1
 2!=2
 3!=6
 4!=24
 5!=120
 6!=720
 7!=5040
 8!=40320
 9!=362880
10!=3628800
11!=39916800
12!=479001600
13!=6227020800
14!=87178291200
15!=1307674368000
16!=20922789888000
17!=355687428096000
18!=6402373705728000
19!=121645100408832000
20!=2432902008176640000
Press any key to continue

追问

= =、是阶乘和

追答

#include "stdio.h"

void main()

  int i;

  double M=1,sum=0;

  for(i=1;i<=20;i++)

 

   M=M*i;

   sum+=M;

 

  printf("XXX=%.0f\\n",M);

参考技术A #include<stdio.h>
int main()

   int i=20,j,z=20,h=1,sum=0;
   for(j=0;j<20;j++)
   
      while(i>0) 
       

           h=i*h;
           i--;
      
       sum=sum+h;
       z--;
       i=z;
      
   printf("1到20的阶乘和为:\\n",sum");
   return 0;

用c语言for循环求1到10阶乘

void
main()
主函数

int
i,a=1;
定义整形变量i,a(a初值为1)
int
sum
=0;
定义整形变量sum
初值为0
for(i
=
1;i<=10;i++)
设i的值为1,当i小于等于10成立时跳出答案,不成立,i的数值加1

a
=
a
*i;

a=a乘以i
sum
=
sum
+
a;
sum记录求和

printf("1到10的阶乘和是
%d",sum);
输出结果
end
结束
参考技术A void
main()
主函数

int
i,a=1;
定义整形变量i,a(a初值为1)
int
sum
=0;
定义整形变量sum
初值为0
for(i
=
1;i<=10;i++)
设i的值为1,当i小于等于10成立时跳出答案,不成立,i的数值加1

a
=
a
*i;

a=a乘以i
sum
=
sum
+
a;
sum记录求和

printf("1到10的阶乘和是
%d",sum);
输出结果
end
结束
参考技术B #include
<stdio.h>
void
main()

int
a,b,c;
int
sum=0;
for(a=1;a<=10;a++)//控制1-10个数字

for(b=1,c=1;b<=a;b++)//控制每个数的阶乘

c=b*c;

sum+=c;//把结果累加在sum中

printf("10的阶乘之和为:%ld\n",sum);
参考技术C #include
<stdio.h>
void
main()

int
a,b,c;
int
sum=0;
for(a=1;a<=10;a++)//控制1-10个数字

for(b=1,c=1;b<=a;b++)//控制每个数的阶乘

c=b*c;

sum+=c;//把结果累加在sum中

printf("10的阶乘之和为:%ld\n",sum);

以上是关于C语言1到20的阶乘的主要内容,如果未能解决你的问题,请参考以下文章

C语言求1-20的阶乘之和

C语言1到20的阶乘

c语言 1到20的阶乘之和

用C语言求1~20的阶乘之和!

C语言,求1到20阶乘,初学者,求帮助!

C语言,算1到20阶乘的和