用C语言编写,输入一个偶数n,计算:1+1/2+1/4+1/6+...+1/n。 输入 一个偶数n,n>10。 输出 表达式的值,输出6位小数。 样例输入 复制 50 样例输出 复制 2.907979
时间: 2023-06-03 07:04:06 浏览: 110
好的,我可以回答这个问题。以下是C语言代码实现:
```
#include <stdio.h>
int main() {
int n;
double sum = 1.0;
printf("请输入一个偶数n:");
scanf("%d", &n);
if (n % 2 != 0 || n <= 10) {
printf("输入的不是偶数或者小于等于10,请重新输入!\n");
return 0;
}
for (int i = 2; i <= n; i += 2) {
sum += 1.0 / i;
}
printf("%.6f\n", sum);
return 0;
}
```
输入50,输出结果为2.907979。
相关问题
用C语言编写,输入一个偶数n,计算:1+1/2+1/4+1/6+...+1/n。
好的,这是一个计算题。您输入的偶数n,可以通过循环结构来实现题目中要求的计算。以下是一个C语言代码实现的示例:
```c
#include <stdio.h>
int main() {
int n, i;
float sum = 0;
printf("请输入一个偶数n:");
scanf("%d", &n);
for (i = 1; i <= n; i += 2) {
sum += 1.0 / i;
}
printf("结果为:%f", sum);
return 0;
}
```
程序中使用了一个变量sum来存储计算结果,通过for循环依次将1/1,1/2,1/4,1/6...直到1/n的累加和计算出来,最终输出计算结果。
用C语言编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
好的,我明白了,以下是符合要求的程序:
```c
#include <stdio.h>
double *func(int n) {
static double arr[100];
int i;
double *p = arr;
if (n % 2 == 0) {
for (i = 2; i <= n; i += 2, p++) {
*p = 1.0 / i;
}
} else {
*p++ = 1.0;
for (i = 3; i <= n; i += 2, p++) {
*p = 1.0 / i;
}
}
return arr;
}
int main() {
int n;
double *p;
scanf("%d", &n);
p = func(n);
while (*p != 0) {
printf("%lf ", *p++);
}
printf("\n");
return 0;
}
```
阅读全文