应该是对的啊,修改了好多次,但运行出来总是不对,不知道是哪里的问题😱
求一个数的阶乘的函数应该是这么写的:
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;
}
1、void main 改为 int main
2、不用内部的嵌套循环
3、对于C语言,for 循环里面的 i 需要在外部先声明
#include<stdio.h>
int main()
{
int s = 1;
int sum = 0;
int i = 1;
for (i = 1; i <= 10; i++)
{
s *= i;
sum += s;
}
printf("%d\n", sum);
return 0;
}