s=1;和 t=t*n;哪错了?
#include <stdio.h>
fun()
{
int n,j;
float s=0.0,t=1.0;
for(n=1;n<=5;n++)
{
s=1;
for(j=1;j<=n;j++)
t=t*n;
s+=t;
}
printf("jiecheng=%d\n",s);
}
main()
{
fun();
}
printf("jiecheng=%d\n",s);
s的类型不是整型
你写的太啰嗦了,性能也不高。求阶乘和,阶乘不必每次从头请求,只要在上一次阶乘的结果上*i就行了。
我帮你写了一版,供你参考。如果有帮助,望采纳。
#include <stdio.h>
int main() {
long sum = 0;
long f = 1;
for (int i = 1; i <= 5; i++) {
f *= i;
sum += f;
}
printf("%ld", sum);
return 0;
}
t=t * n 那5的阶层就是5了,实际上应该是5 * 4* 3 * 2 * 1
所以n=n*(n-1)