彩笔凡 发表于 2023-11-7 16:40:34

求助

(5)编程求 1!+2!+3!+……+20! 的值。
注意:根据题目,考虑所定义的各个变量应该为何种类型。程序结构如下:
/*c4-1.c求1!+2!+3!+……+20!*/
#include <stdio.h>
void main( )
{ 定义变量i作为循环控制变量;
定义变量p和sum分别存放各个整数的阶乘和阶乘之和;
变量p和sum赋初值;
for(i=1;i<=20;i++)
{ 变量p连乘 ;
变量sum累加;}
输出sum的值;
}

isdkz 发表于 2023-11-7 16:40:42

#include <stdio.h>
void main( )
{
    int i; // 定义变量i作为循环控制变量
    int p = 1; // 定义变量p存放各个整数的阶乘
    int sum = 0; // 定义变量sum存放阶乘之和
    for(i=1;i<=20;i++)
    {
      p *= i; // 变量p连乘
      sum += p; // 变量sum累加
    }
    printf("%d", sum); // 输出sum的值
}


这段代码是用C语言编写的,目的是计算1!+2!+3!+……+20!的值。首先,我们定义了变量i作为循环控制变量,p和sum分别用来存放各个整数的阶乘和阶乘之和。在循环中,我们使用i从1到20依次计算每个数的阶乘,并累加到sum中。最后,输出sum的值即可得到结果。在代码中,我们使用了int类型来定义变量i、p和sum,因为阶乘和阶乘之和都是整数。

Mike_python小 发表于 2023-11-7 16:41:16

编程求解 1!+2!+3!+……+20! 的值

根据题目要求,我们可以定义变量i作为循环控制变量,p和sum分别存放各个整数的阶乘和阶乘之和。同时需要给变量p和sum赋初值。


#include <stdio.h>

void main( )
{
    int i;
    long p = 1, sum = 0; // 使用long类型来存放阶乘的结果和阶乘之和

    for(i=1;i<=20;i++)
    {
      p *= i;// 计算阶乘
      sum += p; // 累加阶乘
    }
    printf("1! + 2! + 3! + ... + 20! = %ld\n", sum);
}


在这里,我使用了long类型来存放阶乘的结果和阶乘之和,因为随着阶乘的增长,其结果很容易超出int类型的表示范围。因此,使用long类型可以保证计算的准确性。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页: [1]
查看完整版本: 求助