用C语言,S=1+1/(1+2)+1/(1+2+3)+……1/(1+2+3+…+n)请编写函数fun,其功能是:根据以下公式计算s,并计算结果作为函数值返回,n通过形参传入。
时间: 2023-12-21 18:30:28 浏览: 36
以下是用C语言编写的函数fun,实现计算s=1+1/(1+2)+1/(1+2+3)+……1/(1+2+3+…+n)的功能:
```c
float fun(int n){
float s = 0;
int t = 0;
for(int i = 1; i <= n; i++){
t += i;
s += 1 / (float)t;
}
return s;
}
```
相关问题
用do循环求s=1+1/2+1/4+……1/50的值
使用do-while循环求s=1+1/2+1/4+……1/50的值的代码如下(C语言实现):
```c
#include <stdio.h>
int main()
{
double s = 0, t = 1;
int i = 1;
do
{
s += t;
t /= 2;
i++;
} while (i <= 50);
printf("s=%.20f\n", s);
return 0;
}
```
使用do-while循环求s=1+1/2+1/4+……1/50的值的代码如下(Java实现):
```java
public class Main {
public static void main(String[] args) {
double s = 0, t = 1;
int i = 1;
do {
s += t;
t /= 2;
i++;
} while (i <= 50);
System.out.println("s=" + s);
}
}
```
计算s=1+1/3-1/5……的和c语言
以下是计算s=1+1/3-1/5……的和的C语言代码:
```c
#include <stdio.h>
int main() {
int n;
float s = 1.0;
printf("请输入n的值:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
if (i % 2 == 0) {
s -= 1.0 / (2 * i + 1);
} else {
s += 1.0 / (2 * i + 1);
}
}
printf("s的值为:%f", s);
return 0;
}
```