C语言用while语句求1到5阶乘的和
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言用while语句求1到5阶乘的和相关的知识,希望对你有一定的参考价值。
RT
long sum=0,n=1,x=1; //long型,保证数据长度够用。int i=1;while(n<=5) //控制1·~ 5 。 i=1; while(i<n) //求阶乘 x*=i;sum+=x; //求和//sum为所求 参考技术A #include <stdio.h>void main() double p=1,s=0.0; for (int i=1; i<=5;i++) p=p*i; s=s+p; printf("s=%lf\n",s);试试这个 ,如果可以希望采纳用c语言编程,求从1的阶乘一直加到20的阶乘。
大家好呀!我是c语言的初学者,不知道怎么做?帮帮我吧!谢谢噢!!!!!!!!!!
1、首先打开C语言编辑器,新建一个c语言的文件,导入头文件并设置一个主函数:
2、程序中设置一个循环的临时变量和接受阶乘和的sum变量,循环中先遍历出20以内的数字子,然后计算每个数的阶乘,在将它们相加起来,因为是一个非常大的数,所以这里sum是double类型的,最后把结果输出就可以了:
3、最后调试编译程序,就会看到输出的20阶乘内的和了,是一个非常大的数。以上就是用c语言求20以内阶乘和的方法:
参考技术A #include<stdio.h>void main()
float a,b,s,sum;
sum=0;
for(a=1;a<=20;a++)
for(s=1,b=1;b<=a;b++)
s=s*b;
sum=sum+s;
printf("%e\n",sum);
先求出第n项阶乘,然后把前n-1项阶乘的和加上第n项。 参考技术B czx99201的程序不好。重复计算。阶乘不必每次都计算。而且为什么要用浮点?我的程序如下:
main ()
long a=1, sum=0;
int i;
for (i=1; i<=20; i++)
a *= i;
sum += a;
printf ("%ld\n", sum); 参考技术C #include<stdio.h>
void main()
float a,b,s,sum;
sum=0;
for(a=1;a<=20;a++)
for(s=1,b=1;b<=a;b++)
s=s*b;
sum=sum+s;
printf("%e\n",sum);
参考技术D #include <stdio.h>
main()
long long i,s=1,ss=0;
for(i=1;i<=20;i++)
s*=i;
ss+=s;
printf("ss=%lld",ss);
输出ss=2561327494111820313
这才是正确答案
以上是关于C语言用while语句求1到5阶乘的和的主要内容,如果未能解决你的问题,请参考以下文章