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

2024-11-16 07:53:48
推荐回答(5个)
回答1:

#include

#include

int main()

{

int i=0;

int j=0;

int mul=1;

int sum=0;

for(i=1;i<=10;i++)//和循环

{

mul=1;//每次循环前都需要初始化为1,要不然最后结果会变大

for(j=1;j<=i;j++)//阶乘循环

{

mul=mul*j;

}

sum=sum+mul;

}

printf("%d",sum);

system("pause");

return 0;

}

C11标准:

2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C ,简称C11标准,原名C1X。这是C语言的第三个官方标准,也是C语言的最新标准。



扩展资料

C语言特点

1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。

2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。

4、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。

Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。

参考资料来源:百度百科-c语言

回答2:

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i=0;

int j=0;

int mul=1;

int sum=0;

for(i=1;i<=10;i++)//和循环

{

mul=1;//每次循环前都需要初始化为1,要不然最后结果会变大

for(j=1;j<=i;j++)//阶乘循环

{

mul=mul*j;

}

sum=sum+mul;

}

printf("%d",sum);

system("pause");

return 0;

}

扩展资料:

printf用法:

1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。

格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。

2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。



回答3:

#include

int main()

{

int i,sum=0,a=1;

for(i=1;i<11;i++){

a=a*i;

sum=sum+a;

}

printf("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=%d",sum);

return 0;

}

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

参考资料:

百度百科-c语言

回答4:

声明一个和记录变量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;
}

运行结果如下:

回答5:

这个回答若到C语言环境执行,那就是一个错误的程序,整数的范围到9!阶乘就已经超界,发生溢出错误。所以这类题,若是考题,考点就是类型的范围。换句话说,选中的答案是错误的,而其他三个都是正确的。下面是我的答案。#include 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);}