C语言编程:编写函数计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和 ,请编写函数fun(int n),计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。例如,若主函数从键盘给n输入20后,则输出为0.58。,测试输入:10 预期输出:0.41 测试输入:20 预期输出:0.58
时间: 2023-11-04 17:05:44 浏览: 247
好的,下面是 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` 格式符来输出。
相关问题
C语言编写函数计算并输出n包括n以内能被5或9整除的所有自然数的倒数之和
在C语言中,我们可以编写一个函数来计算并输出n以内所有能被5或9整除的自然数的倒数之和。首先,我们需要创建一个名为`sum_divisible_numbers`的函数,接受一个整数参数n。以下是相应的函数实现:
```c
#include <stdio.h>
double sum_divisible_nines_fives(int n) {
double sum = 0.0;
for (int i = 1; i <= n && i % 5 == 0 || i % 9 == 0; ++i) {
sum += 1.0 / i;
}
return sum;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
if (n > 0) {
double result = sum_divisible_nines_fives(n);
printf("从1到%d之间能被5或9整除的数的倒数和为: %.2lf\n", n, result);
} else {
printf("输入值无效,n应该是正整数。\n");
}
return 0;
}
```
这个程序首先定义了一个名为`sum_divisible_numbers`的函数,它遍历1到n之间的所有数字,如果某个数字可以被5或9整除,就将其倒数加到总和`sum`上。然后在`main`函数中获取用户输入的n,并调用该函数,最后输出结果。
编写函数计算并输出n包括n以内能被5或9整除的所有自然数的倒数之和用C语言
在C语言中,编写一个函数来计算并输出n以内所有能被5或9整除的自然数的倒数之和,你可以这样做:
```c
#include <stdio.h>
// 函数声明
double sum_of_divisors_reciprocal(int n);
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
// 计算并输出结果
double result = sum_of_divisors_reciprocal(n);
printf("从1到%d内,能被5或9整除的数的倒数之和为: %.2f\n", n, result);
return 0;
}
// 计算函数,递归实现
double sum_of_divisors_reciprocal(int num) {
if (num <= 0) {
return 0; // 如果num小于等于0,直接返回0
}
double divisor_sum = 0.0;
if (num % 5 == 0 || num % 9 == 0) { // 如果num能被5或9整除
divisor_sum += 1.0 / num; // 添加它的倒数
}
// 递归处理num的因子
divisor_sum += sum_of_divisors_reciprocal(num - 1); // 减去最后一个已检查的数,避免重复计数
return divisor_sum;
}
```
这个程序首先会提示用户输入一个整数n,然后调用`sum_of_divisors_reciprocal`函数计算并输出符合条件的数的倒数之和。
阅读全文
相关推荐
















