请编写函数fun(int n),计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。例如,若主函数从键盘给n输入20后,则输出为0.58。
时间: 2023-11-05 19:04:38 浏览: 74
以下是一个可能的实现:
```c
#include <stdio.h>
double fun(int n) {
double sum = 0;
int i;
for (i = 1; i <= n; i++) {
if (i % 5 == 0 || i % 9 == 0) {
sum += 1.0 / i;
}
}
return sum;
}
int main() {
int n;
double result;
printf("请输入一个正整数n:");
scanf("%d", &n);
result = fun(n);
printf("%f\n", result);
return 0;
}
```
这里定义了一个 `fun` 函数,它接受一个整数 `n`,计算并返回 `n` 以内能被 5 或 9 整除的所有自然数的倒数之和。在 `main` 函数中,从键盘读入 `n`,调用 `fun` 函数计算结果并输出。注意要使用 `double` 类型来存储结果,以确保精度。
相关问题
请编写函数fun(int n),计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
以下是这道题的函数实现:
```c
#include <stdio.h>
double fun(int n) {
double sum = 0;
int i;
for (i = 5; i <= n; i++) {
if (i % 5 == 0 || i % 9 == 0) {
sum += (double)1 / i;
}
}
return sum;
}
int main() {
int n;
printf("请输入一个自然数n:");
scanf("%d", &n);
printf("%lf", fun(n));
return 0;
}
```
首先在 `fun` 函数中,我们定义了一个 `sum` 变量用于存储倒数之和,初始化为0。然后我们使用一个循环从5开始遍历到n,判断每个数是否能被5或9整除,如果是则将其倒数加入到 `sum` 中。最后返回 `sum` 即可。
在 `main` 函数中,我们先输入一个自然数n,然后调用 `fun` 函数计算并输出结果。
C语言编程:编写函数计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和 ,请编写函数fun(int n),计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。例如,若主函数从键盘给n输入20后,则输出为0.58。,测试输入:10 预期输出:0.41 测试输入:20 预期输出:0.58
好的,下面是 C 语言的代码实现:
```c
#include <stdio.h>
double fun(int n) {
double sum = 0;
int i;
for (i = 1; i <= n; i++) {
if (i % 5 == 0 || i % 9 == 0) {
sum += 1.0 / i;
}
}
return sum;
}
int main() {
int n;
double result;
printf("请输入 n 的值:");
scanf("%d", &n);
result = fun(n);
printf("%f\n", result);
return 0;
}
```
函数 `fun` 的作用是计算并返回 n (包括 n) 以内能被 5 或 9 整除的所有自然数的倒数之和。变量 `sum` 初始值为 0,然后在循环中判断每个自然数是否符合要求,若符合,则将其倒数加到 `sum` 中。最后返回 `sum`。
在 `main` 函数中,首先从键盘读入 `n` 的值,然后调用 `fun` 函数计算结果并将其赋值给 `result`,最后将 `result` 输出即可。
注意,本题中要求输出的是浮点数,因此需要使用 `%f` 格式符来输出。
阅读全文