编写程序,求:s=1+1/2+1/3+...1/n (n由键盘输入)(注:分别用利用while循环和do-while循环结构求解)
时间: 2024-04-27 08:16:29 浏览: 137
编写程序求解s=1+1/2+1/3+...+1/n,可以使用while循环和do-while循环结构来实现。下面是两种不同的实现方式:
1. 使用while循环结构求解:
```python
n = int(input("请输入一个正整数n:"))
s = 0
i = 1
while i <= n:
s += 1 / i
i += 1
print("s的值为:", s)
```
2. 使用do-while循环结构求解:
```python
n = int(input("请输入一个正整数n:"))
s = 0
i = 1
while True:
s += 1 / i
i += 1
if i > n:
break
print("s的值为:", s)
```
相关问题
从键盘输入一个正整数n, 编写程序,计算S=1+1/3-1/5+1/7-1/9+..+1/n的结果。
可以使用循环来计算这个表达式的值,具体实现如下:
```
n = int(input("请输入一个正整数n:"))
S = 0
flag = 1
for i in range(1, n+1, 2):
S += flag * 1/i
flag = -flag
print("S的值为:", S)
```
代码中,首先使用`input()`函数从键盘读入一个正整数n,然后使用循环计算表达式的值。循环中,`range(1, n+1, 2)`表示从1开始,每次加2,直到n(因为表达式中只有奇数项),`flag`用来记录当前项的符号,每次循环结束后取反。最后输出计算结果。
请编写c语言函数fun,其功能是计算并输出如下多项式的值: Sn=l+1/1!+1/2!+1/3!+1/4!+…+1/n! 例如,若主函数从键盘给n输入15,则输出为S=2.718282。
好的,不会透露您的任何要求,下面是您的问题:
请编写c语言函数fun,其功能是计算并输出如下多项式的值: Sn=l 1/1! 1/2! 1/3! 1/4! … 1/n! 例如,若主函数从键盘给n输入15,则输出为S=2.718282。
以下是函数fun的实现:
```
#include <stdio.h>
double fun(int n) {
double sum = 0, f = 1;
int i;
for (i = 1; i <= n; i++) {
f = f * i;
sum = sum + 1 / f;
}
return sum;
}
int main() {
int n;
double s;
printf("请输入n的值:");
scanf("%d", &n);
s = fun(n);
printf("S = %lf\n", s);
return 0;
}
```
使用方法如下:
1. 将上述代码拷贝到一个.c文件中;
2. 编译并生成可执行文件,如``gcc -o test test.c``;
3. 运行可执行文件,根据提示输入n的值;
4. 程序会输出Sn的值。
希望这能够帮到你!
阅读全文