应该是对的啊,修改了好多次,但运行出来总是不对,不知道是哪里的问题😱


求一个数的阶乘的函数应该是这么写的:
int fact(int n)
{
int ans = 1;
for(int i=1; i<=n; i++)
{
ans *= i;
}
return ans;
}
所以你要把int s = 1放在for循环里面,不然就加多了。1到10的阶乘之和应该是:4037913
#include <stdio.h>
int main()
{
int sum = 0;
for(int i=1; i<=10; i++)
{
int s = 1;
for(int j=1; j<=i; j++)
{
s *= j;
}
sum += s;
}
printf("%d\n", sum);
return 0;
}