(函数及重载函数)创建函数funx(),保证下面代码能够执行。用两种方法,其中一种方式是函数重载。 int main() { cout<<funx(3, 4, 5)<<endl; //输出3!+4!+5!的值 cout<<funx(3, 4)<<endl; //输出3!+4!的值 cout<<funx(5)<<endl; //输出5!的值 cout<<funx()<<endl; //输出10!的值 return 0; }
时间: 2023-10-30 13:31:52 浏览: 29
以下是两种方法:
方法一:使用函数重载
```c++
#include <iostream>
using namespace std;
int fact(int n) {
int res = 1;
for(int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
int funx(int a, int b, int c) {
return fact(a) + fact(b) + fact(c);
}
int funx(int a, int b) {
return fact(a) + fact(b);
}
int funx(int a) {
return fact(a);
}
int funx() {
return fact(10);
}
int main() {
cout << funx(3, 4, 5) << endl; //输出3!+4!+5!的值
cout << funx(3, 4) << endl; //输出3!+4!的值
cout << funx(5) << endl; //输出5!的值
cout << funx() << endl; //输出10!的值
return 0;
}
```
方法二:使用默认参数
```c++
#include <iostream>
using namespace std;
int fact(int n) {
int res = 1;
for(int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
int funx(int a = 0, int b = 0, int c = 0) {
if(a == 0 && b == 0 && c == 0) {
return fact(10);
} else if(b == 0 && c == 0) {
return fact(a);
} else if(c == 0) {
return fact(a) + fact(b);
} else {
return fact(a) + fact(b) + fact(c);
}
}
int main() {
cout << funx(3, 4, 5) << endl; //输出3!+4!+5!的值
cout << funx(3, 4) << endl; //输出3!+4!的值
cout << funx(5) << endl; //输出5!的值
cout << funx() << endl; //输出10!的值
return 0;
}
```