用c语言解答:编写函数,输入n为偶数时,调用函数计算1/2+1/4+……+1/n;输入n为奇数时,调用函数1/1+1/3+……+1/n。
时间: 2023-09-29 17:03:17 浏览: 118
以下是用C语言编写的函数,可以实现上述要求:
```c
#include <stdio.h>
double sum(int n) {
double s = 0;
if (n % 2 == 0) {
for (int i = 2; i <= n; i += 2) {
s += 1.0 / i;
}
} else {
for (int i = 1; i <= n; i += 2) {
s += 1.0 / i;
}
}
return s;
}
int main() {
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
printf("结果为:%f\n", sum(n));
return 0;
}
```
在该程序中,sum函数用于计算题目中所述的累加和。当输入的n为偶数时,sum函数会计算1/2+1/4+……+1/n;当输入的n为奇数时,sum函数会计算1/1+1/3+……+1/n。函数中使用了for循环来遍历累加的分数,并且使用了一个变量s来保存累加和。在main函数中,用户可以输入一个整数n,程序会调用sum函数来计算累加和,并将结果输出到屏幕上。
相关问题
用C语言写题:利用指针函数 输入n为偶数时 调用函数求1/2+1/4+..1/n 当输入n为奇数时 调用1/1+1/3+…1/n 输出计算结果保留两位小数
这是一道利用指针函数的C语言编程题,根据输入的n的奇偶性,调用不同的函数计算并输出结果。当输入n为偶数时,调用pEven函数计算1/2+1/4+...+1/n的和;当输入n为奇数时,调用pOdd函数计算1/1+1/3+...+1/n的和。最后将计算结果保留两位小数输出。
下面是代码实现:
```
#include <stdio.h>
float pEven(int n) //偶数
{
float sum = 0;
for (float i = 2; i <= n; i += 2) {
sum += 1 / i;
}
return sum;
}
float pOdd(int n) //奇数
{
float sum = 0;
for (float i = 1; i <= n; i += 2) {
sum += 1 / i;
}
return sum;
}
float dcall(float (*fp)(int n), int n) //其中float (*p)(int n)是一个指向函数的指针类型,函数的参数是int n,返回值是float
{
float s = fp(n); //相当于调用了第一个函数指针参数指向的函数
return s;
}
int main()
{
int n = 0;
float sum = 0;
while (1) {
scanf("%d", &n);
if (n < 1) break;
else if ((n % 2) == 0) {
printf("Even=");
sum = dcall(pEven, n);
}
else {
printf("Odd=");
sum = dcall(pOdd, n);
}
printf("%.2f\n", sum); //保留两位小数输出
}
return 1;
}
```
用C语言编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)
好的,我来为你编写一个满足你要求的C语言函数。以下是代码示例:
```c
#include <stdio.h>
double calculateSum(int n, double (*func)(int)) {
double sum = 0;
for (int i = 2; i <= n; i += 2) {
sum += func(i);
}
return sum;
}
double evenFunc(int n) {
return 1.0 / n;
}
double oddFunc(int n) {
return 1.0 / n;
}
int main() {
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
double sum;
if (n % 2 == 0) {
sum = calculateSum(n, evenFunc);
} else {
sum = calculateSum(n, oddFunc);
}
printf("计算结果为:%f\n", sum);
return 0;
}
```
这个程序中,我们定义了两个函数 `evenFunc` 和 `oddFunc`,分别用于计算偶数和奇数情况下的每一项的值。函数 `calculateSum` 接收一个整数 `n` 和一个指向函数的指针 `func`,根据 `n` 的奇偶性调用相应的函数,并计算累加和。最后在 `main` 函数中根据用户输入的 `n` 调用 `calculateSum` 函数,并输出计算结果。
注意:上述代码中,假设输入的 `n` 大于等于2,如果需要对输入进行合法性验证,请自行添加相应的代码。
阅读全文