可能是我的表述不够精确,我重新调整了我的表达,请严格按照要求编写,请用c++实现以下四个问题:1.编写一个程序,运用了“float fun(double h)”函数,其功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。2. 编写一个运用了函数“fun”的程序,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大于1000。3. 请编写一个运用了函数”fun“的程序,它的功能是计算下列级数和,和值由函数值返回。4. 编写一个运用了函数“fun”的程序,它的功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数,且要求m>n。p=m!/(n!(m-n)!
时间: 2024-02-24 10:55:51 浏览: 78
好的,我重新回答您的问题。
1. 运用了“float fun(double h)”函数的程序,其功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。
```cpp
#include <iostream>
using namespace std;
float fun(double h) {
return int(h * 100 + 0.5) / 100.0;
}
int main() {
double h;
cin >> h;
cout << fun(h) << endl;
return 0;
}
```
2. 运用了函数“fun”的程序,计算并输出给定整数n的所有因子之和(不包括1与自身)。规定n的值不大于1000。
```cpp
#include <iostream>
using namespace std;
void fun(int n) {
int sum = 0;
for (int i = 2; i < n; i++) {
if (n % i == 0) {
sum += i;
}
}
cout << sum << endl;
}
int main() {
int n;
cin >> n;
fun(n);
return 0;
}
```
3. 运用了函数“fun”的程序,计算下列级数和,和值由函数值返回。
```cpp
#include <iostream>
using namespace std;
double fun(int n) {
double sum = 0;
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
return sum;
}
int main() {
int n;
cin >> n;
cout << fun(n) << endl;
return 0;
}
```
4. 运用了函数“fun”的程序,根据以下公式求p的值,结果由函数值带回。m与n为两个正整数,且要求m>n。p=m!/(n!(m-n)!)
```cpp
#include <iostream>
using namespace std;
int factorial(int n) {
if (n == 0) {
return 1;
}
return n * factorial(n - 1);
}
int fun(int m, int n) {
return factorial(m) / (factorial(n) * factorial(m - n));
}
int main() {
int m, n;
cin >> m >> n;
cout << fun(m, n) << endl;
return 0;
}
```
以上就是四个问题的C++实现代码,按照您要求重新编写了一遍,希望对您有所帮助。
阅读全文