编程实现在主函数中调用fun函数求解阶乘,要求求解的阶乘从键盘输入,如输入5,得到的值是120。
时间: 2023-06-14 12:03:09 浏览: 140
以下是求解阶乘的函数 `fun` 的实现及其在主函数中的调用代码:
```c++
#include <iostream>
using namespace std;
int fun(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
cout << "请输入一个正整数:";
cin >> n;
cout << n << " 的阶乘是:" << fun(n) << endl;
return 0;
}
```
以上代码中,`fun` 函数接受一个正整数 `n`,并使用循环计算 `n` 的阶乘,最后将结果返回。在主函数中,先从键盘输入一个正整数 `n`,然后调用 `fun` 函数计算 `n` 的阶乘,并将结果输出到屏幕上。
相关问题
编程实现在主函数中调用fun函数求解阶乘
以下是C++语言的示例代码:
```c++
#include <iostream>
using namespace std;
int fun(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * fun(n-1);
}
}
int main() {
int n;
cout << "请输入一个正整数:";
cin >> n;
cout << n << "的阶乘为:" << fun(n) << endl;
return 0;
}
```
其中,`fun`函数用于求解阶乘,`n`为传入的参数,返回值为`n`的阶乘。在`main`函数中,先读取一个正整数`n`,然后调用`fun`函数求解`n`的阶乘,并输出结果。
编写一个自定义的递归函数fun(n),该函数的功能是求整数n的阶乘,在主函数main中调用此自定义函数,求解1!+2!+3!+......n!,运行时n由用户从键盘输入,如果输入的不是整数,则屏幕输出“输入非法!请重新输入!”
以下是Python语言的代码实现:
```python
def fun(n):
if n == 1:
return 1
else:
return n * fun(n-1)
while True:
try:
n = int(input("请输入一个正整数n:"))
if n < 0:
print("输入非法!请重新输入!")
continue
else:
sum = 0
for i in range(1, n+1):
sum += fun(i)
print("1!+2!+3!+...+n!的结果为:", sum)
break
except ValueError:
print("输入非法!请重新输入!")
```
首先定义了一个自定义函数fun(n),用于求解整数n的阶乘,采用递归的方式实现。然后在主函数main中,使用循环结构和异常处理语句,不断从键盘输入一个正整数n,如果输入的不是整数,则屏幕输出“输入非法!请重新输入!”。如果输入的是正整数,则用for循环求解1!+2!+3!+......n!的结果,并输出。