设计C语言计算1!+2!+3!+......+10!=?
main()
{ int i,n,s;
s=0,n=1,i=1;
while(n<=10)
{
while(i<=n)
{s=s+i;i=i+1;}
n=n+1;
}
printf("s=%d\n",s);
}
哪里不对了? 展开
C语言计算1到10的阶乘的和的代码如下:
#include"stdio.h"
#include"math.h"
voidmain(){inti,j,n,sum=0;
for(i=1;i<=10;i++)
{
n=1;
for(j=1;j<=i;j++)
n*=j;
/*
将每一项阶乘相加求和。
*/
sum+=n;
}
printf("%d\n",sum);
}
本程序采用两层循环实现1到10的阶乘求和运算,使用第一层运算代表该计算式中的10项阶乘,第二层for循环表示每一项的阶乘,最后将它们求和即可实现这个运算。
扩展资料:
C语言数据类型关键字。
1、short:修饰int,短整型数据,可省略被修饰的int。
2、long:修饰int,长整型数据,可省略被修饰的int。
3、longlong:修饰int,超长整型数据,可省略被修饰的int。
4、signed:修饰整型数据,有符号数据类型。
5、unsigned:修饰整型数据,无符号数据类型。
6、restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。
7、struct:结构体声明。
8、union:联合体声明。
9、enum:枚举声明。
10、typedef:声明类型别名。
11、sizeof:得到特定类型或特定类型变量的大小。
12、inline:内联函数用于取代宏定义,会在任何调用它的地方展开。
13、auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配。与static相反。当变量未指定时默认为auto。
14、static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部。
15、register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数。
16、extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
17、const:指定变量不可被当前线程改变(但有可能被系统或其他线程改变)。
18、volatile:指定变量的值有可能会被系统或其他线程改变,强制编译器每次从内存中取得该变量的值,阻止编译器把该变量优化成寄存器变量。
参考资料来源:百度百科-c语言
#include"stdio.h"
#include"math.h"
voidmain(){inti,j,n,sum=0;
for(i=1;i<=10;i++)
{
n=1;
for(j=1;j<=i;j++)
n*=j;
/*
将每一项阶乘相加求和。
*/
sum+=n;
while(i<=n)
{s=s+i;
i=i+1;
n=n+1;
}
你这个程序的结果是:1+2+3+......+10=?而不是:1!+2!+3!+......+10!=?
#include<stdio.h>
main()
{ int i,n,s;
s=0,n=1,i=1;
while(i<=10)
{ n=n*i;
s=s+n;
i=i+1;
}
printf("s=%d\n",s);
}
供你参考用。
#include<stdio.h>
int main()
{
int i=1,p=1,sum=0;
do
{
p=p*i;
sum=sum+p;
i=i+1;
}while(i<=10);
printf("sum=%d\n",sum);
return 0;
}