C语言编写自定义函数通过键盘输入一个正整数n,计算 sum = 1 + 1/(1+2) + 1/(1+2+3) +...+1/(1+2+3+..+n)使用静态变量
时间: 2023-11-27 15:05:20 浏览: 113
以下是使用静态变量的C语言代码,实现计算 sum = 1 + 1/(1+2) + 1/(1+2+3) +...+1/(1+2+3+..+n):
```c
#include <stdio.h>
float sum(int n) {
static float total = 0; // 静态变量
total += n;
return 1 / total;
}
int main() {
int n;
float s = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
s += sum(i);
}
printf("sum = %f", s);
return 0;
}
```
相关问题
C语言编写自定义函数通过键盘输入一个正整数n,计算 sum = 1 + 1/(1+2) + 1/(1+2+3) +...+1/(1+2+3+..+n),
以下是C语言编写自定义函数通过键盘输入一个正整数n,计算sum = 1 + 1/(1+2) + 1/(1+2+3) +...+1/(1+2+3+..+n)的代码:
```c
#include <stdio.h>
double fun(int n);
int main()
{
int n;
double sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
sum += fun(i);
}
printf("sum = %lf", sum);
return 0;
}
double fun(int n)
{
double res = 0;
for (int i = 1; i <= n; i++)
{
res += i;
}
return 1 / res;
}
```
C语言输入一个正整数n,计算并输出下列算式的值。要求定义和调用函数total(n)计算1+1/2+1/3……+1/n。函数返回值的类型是double。 S=Σ1/k=1+1/2+1/3+……+1/n ( k的值从1到n )
好的,下面是实现该功能的C语言代码:
```c
#include <stdio.h>
double total(int n) {
double sum = 0.0;
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
return sum;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
double result = total(n);
printf("S = %lf\n", result);
return 0;
}
```
您可以在程序中输入一个正整数n,然后调用函数total(n)计算1+1/2+1/3……+1/n的值,并将结果输出。其中,函数total(n)使用for循环遍历1到n,计算1/k的和,并返回该和的值。最后,程序输出计算结果S。注意,输出结果的格式为%lf,表示输出一个double类型的浮点数。
阅读全文