用c语言怎么编程5阶乘的和

时间:2025-01-28 22:05:28 网络游戏

方法一:使用循环

```c

include

int main() {

int n, i, sum = 0;

printf("请输入要计算阶乘和的数字 n:");

scanf("%d", &n);

for (i = 1; i <= n; i++) {

int factorial = 1;

for (int j = 1; j <= i; j++) {

factorial *= j;

}

sum += factorial;

}

printf("阶乘和为:%d\n", sum);

return 0;

}

```

方法二:使用递归

```c

include

int fn_jc(int iNum) {

if (iNum == 1) {

return 1;

} else {

return iNum * fn_jc(iNum - 1);

}

}

int main() {

int i = 1;

int iSum = 0;

for (; i <= 5; i++) {

iSum += fn_jc(i);

}

printf("1-5阶乘和为%d", iSum);

return 0;

}

```

方法三:使用循环和累乘

```c

include

int main() {

int n, i, sum = 0;

printf("请输入要计算阶乘和的数字 n:");

scanf("%d", &n);

for (i = 1; i <= n; i++) {

int fact = 1;

for (int j = 1; j <= i; j++) {

fact *= j;

}

sum += fact;

}

printf("阶乘和为:%d\n", sum);

return 0;

}

```

方法四:使用递归求和

```c

include

int getMul(int n) {

if (n == 1) {

return 1;

} else {

return n * getMul(n - 1);

}

}

int getSum(int n) {

if (n == 0) {

return 0;

} else {

return getMul(n) + getSum(n - 1);

}

}

int main() {

int n, h, s;

printf("请输入 n:");

scanf("%d", &n);

printf("!n=%d\n", getMul(n));

printf("s=%d\n", getSum(n));

return 0;

}

```

方法五:使用循环和累加

```c

include

int main() {

int n, i, sum = 0;

printf("请输入要计算阶乘和的数字 n:");

scanf("%d", &n);

for (i = 1; i <= n; i++) {

int factorial = 1;

for (int j = 1; j <= i; j++) {

factorial *= j;

}

sum += factorial;

}

printf("阶乘和为:%d\n", sum);

return 0;

}

```

这些方法都可以实现计算1到5阶乘的和。你可以选择最适合你的方法进行尝试。