用C语言求1到N的阶层 的累加和

Python025

用C语言求1到N的阶层 的累加和,第1张

思路:先定义一个函数用来计算一个数的阶乘,在从1到N循环依次就其累加和,最后输出累加和即可。

参考代码:例如求1到3的阶乘累加和。

#include "stdio.h" 

int fun(int n){

if(n==1) return 1

else return n*fun(n-1)

#include "math.h"

int main() {

int n,sum=0,i

scanf("%d",&n)

for(i=1i<=ni++)

sum+=fun(i)

printf("%d\n",sum)

  return 0

}

/*

运行结果:

3

9

*/

两个问题:

for(i=1i<=ni++)  这个分号去掉

你用int t作为结果,很容易溢出,所以测试的时候尽量用小一点的数字10以内哦

希望采纳,期待对你有帮助,欢迎追问

C语言中实现阶乘的计算可以采用递归或者循环,通常循环用的比较多,循环可以采用while循环和for循环等。

下面以for循环为例实现1-10的阶乘的和的计算,代码如下:

int i,sum=1,S=0 

for(i=1i<=10i++)

{

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语言函数