这个第3题,我不知道那里出错了,输入啥,他都是输出1,大佬,请看看看

这个第3题,我不知道那里出错了,输入啥,他都是输出1,大佬,请看看看

问题描述:

这个第3题,我不知道那里出错了,输入啥,他都是输出1,大佬,请看看看

给你参考一下 用for循环的 如果是规定用while 自己改一下

#include<stdio.h>

int main()
{
    int n, he = 0, sum = 1;
    printf("请输入整数n\n");
    scanf("%d", &n);
    if (n == 1)
    {
        sum = 1;
    }
    else
    {

        for (int i = 1; i <= n; i++)
        {
            sum *= i; //阶乘
            he += sum; //各阶乘的和
        }

    }
    printf("%d", he);
    return 0;
}

这句条件判断if(n = 1) 改成if(n == 1) 两个等号

还有while(n >= 1 && n <= n) 这条件基本算死循环了...