怎样用C语言计算1到10的阶层的和?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用C语言计算1到10的阶层的和?相关的知识,希望对你有一定的参考价值。
二、编写程序,计算1!+2!+3!+.......+10!
我是初学者,用的是WIN-TC软件,拜托帮帮忙,对的一定会加分!
C语言中实现阶乘的计算可以采用递归或者循环,通常循环用的比较多,循环可以采用while循环和for循环等。
下面以for循环为例实现1-10的阶乘的和的计算,代码如下:
int i,sum=1,S=0;
for(i=1;i<=10;i++)
sum=sum*i;
S=S+sum;
上述的变量S在运行结束后的结果值即为1-10的阶乘的和。
扩展资料:
数学函数
所在函数库为math.h、stdio.h、string.h、float.h
int abs(int i) 返回整型参数i的绝对值
double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数
double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数
double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数
char *ecvt(double value,int ndigit,int *decpt,int *sign),将浮点数value转换成字符串并返回该字符串
参考资料来源:百度百科-C语言函数
参考技术AC语言中实现阶乘的计算可以采用递归或者循环,通常循环用的比较多
循环可以采用while循环和for循环等
下面以for循环为例实现1-10的阶乘的和的计算,代码如下:
int i,sum=1,S=0;
for(i=1;i<=10;i++)
sum=sum*i;
S=S+sum;
4.上述的变量S在运行结束后的结果值即为1-10的阶乘的和
参考技术B #include "stdio.h"void main()
int i,j;
long sum=0;
for(i=1;i<10;i++)
for(j=1;j<=i;j++)
j*=j;
sum+=j;
pfintf("1!+2!+3!+.......+10!阶乘的和是%ld",sum);
//tc现已经学的不多了,界面太刻板了,建议你学习用visul c++这个工具 参考技术C #include <stdio.h>
#include <mem.h>
#define ASIZE 1000
int main()
int i,k,t,x=20; //计算到20!
char v[ASIZE],z[ASIZE];
memset(v,0,ASIZE); v[0]=1;
memset(z,0,ASIZE); z[0]=1;
for(k=2; k<=x; k++)
t=0;
for(i=0; i<ASIZE-1; i++)
t=z[i]*k+t;
z[i]=t%10;
t/=10;
t=0;
for(i=0; i<ASIZE-1; i++)
t+=v[i]+z[i];
v[i]=t%10;
t/=10;
t=0;
for(i=ASIZE-1;i>=0;i--)
if(t||v[i])
printf("%d",v[i]);
t=1;
return 0;
执行结果: 2561327494111820313
如果把 x=20 换成 x=100, 计算 1!+2!+3!+...+99!+100! 参考技术D 1!+2!+3!+.......+10!nbsp;main()nbsp;intnbsp;i;longnbsp;p=1;nbsp;longnbsp;s=0;nbsp;fornbsp;(i=1;iamp;lt;=10;i++)nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;p=p*i;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;s=s+p;nbsp;nbsp;nbsp;nbsp;printf(“1!+2!+...+10!nbsp;=nbsp;%ld
“,s);nbsp;nbsp;
查看原帖>>
c语言 求1到100的累加数(用两种方法)
参考技术A #include<stdio.h>int main()
int i,s=0,s1=0; //初始化
for(i=1;i<=100;i++) //方法1
s+=i;
i=1; //方法2
while(i<=100)
s+=i;
i++;
printf("s=%d\ns1=%d\n",s,s1); //输出结果
return 0;
本回答被提问者采纳
以上是关于怎样用C语言计算1到10的阶层的和?的主要内容,如果未能解决你的问题,请参考以下文章