用c语言怎么写1到5的阶乘的和?

要求用for循环,最后输出的结果为:
1!=1
2!=2
3!=6
4!=24
5!=120
153
哪位高手知道,请帮帮忙!

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1

#include"stdio.h"

#include"stdlib.h"

int main()

{

int n = 0;

printf("请输入一个数字: ");

scanf("%d",&n);

int i = 0;

int ret = 1;

int sum = 0;

for (i = 1; i <= n; i++)

{

ret *= i;

sum += ret;

}

printf("%d\n",sum);

system("pause");

return 0;

}

扩展资料

阶乘计算功能关键算法

利用递归方法求5!

用递归方式求出阶乘的值。递归的方式为:

5!=4!*5

4!=3!*4

3!=2!*3

2!=1!*2

1!=1

即要求出5!,先求出4!;要求出4!,先求出3! … 以此类推。

注意:定义一个函数(或方法),用于求阶乘的值。

在主函数(或主方法)中调用该递归函数(或方法),求出5的阶乘,并输出结果。

package Third;

public class one {

    public static void main(String args[]){

        int n =5;            //输入n的值

        //n的阶乘的值为:factorial(n);

        System.out.println("5的阶乘是:" + factorial(n));

    }

    public static int factorial(int n){         //阶乘求解函数

        if(n == 0){                             //判断传进来的n是否为0,若为零返回阶乘为1

           return 1;

        }

        return n*factorial(n-1);             //重新调用函数,继续判断n-1是否为零,

    }

}

   

  

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-04
#include "stdio.h"
main()
{
int sum=0,n=1;
int i,j;
for(j=1;j<=5;j++)
{
for(i=1;i<=j;i++)
{
n=n*i;
}
sum=sum+n;
printf("%d!=%d\n",j,n);

n=1;
}

printf("%d",sum);
}本回答被提问者采纳
第2个回答  2020-01-19
#include
"stdio.h"
main()
{
int
sum=0,n=1;
int
i,j;
for(j=1;j<=5;j++)
{
for(i=1;i<=j;i++)
{
n=n*i;
}
sum=sum+n;
printf("%d!=%d\n",j,n);
n=1;
}
printf("%d",sum);
}
第3个回答  2009-04-22
#include <stdio.h>

int fact(int n)
{
int ret = 1;
for(int i = 1; i <= n)
ret *= i;
return ret;
}

void main()
{
int sum = 0;
for(int i = 1; i <= 5; i++)
sum += fact(i);
printf("%d\n", sum);
}
第4个回答  2009-04-22
main()
{
int i, j, sum=0;
int t=1;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
t=t*j;
}
sum=sum+t;
t=1;
}
printf("%d",sum);
}
相似回答