用C语言编写程序,求1到10的阶乘之和:S=1!+2!+3!+4!+5!+6!+7!+8!+9!+10!

已举报 回答 关注

用C语言编写程序,求1到10的阶乘之和:S=1!+2!+3!+4!+5!+6!+7!+8!+9!+10!

  • 回答数

    7

  • 浏览数

    3,971

7个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
声明一个和记录变量s,声明一个阶乘记录变量t,再声明一个计数变量n。用一个for循环,计数变量n从1开始步长为1增值至10为止;t初值设置为1,始终记录它与n的当前值的乘积,就得到了n的当前值的阶乘n!;s初值置0,累加每个n当前值时的阶乘t,就完成了题设要求。代码如下:
#include "stdio.h"int main(int argc,char *argv[]){ int s,n,t; for(s=0,t=n=1;n<11;s+=t*=n++);//用t记录每个n的当前值的阶乘并累加到s printf("1!+2!+3!+...+10! = %d\n",s); return 0;}运行结果如下:

取消 评论
★172666706">int fun(int n) /*求n的阶乘*/
{
if(n > 1)
return n*fun(n - 1);
if(n == 1)
return 1;
} 1.do while 语句
int sum = 0;
int i = 1;
do
{
sum += fun(i);
i++;
}while(i <= 10) 2.while语句
int sum = 0;
int i = 1;
while(i <= 10)
{
sum += fun(i);
i++;
}
取消 评论
3628800
取消 评论
#include <stdio.h>void main(){ double p=1,s=0.0; for (int i=1; i<=10;i++) { p=p*i; s=s+p; } printf("s=%lf\n",s);}
取消 评论
=if(a1<1,0,
if(a1<3,200,
if(a1<5,400,
if(a1<7,600,
if(a1<9,800,1000)))))
试试
取消 评论
(1+99)x99➗2
=100x99➗2
=4950
取消 评论
公式:(n+1)*n/2 原式等于(99+1)*99/2 =100*99/2 =9900/2 等于4950
取消 评论
ZOL问答 > 用C语言编写程序,求1到10的阶乘之和:S=1!+2!+3!+4!+5!+6!+7!+8!+9!+10!

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

提示

确定要取消此次报名,退出该活动?