由键盘输入一个正整数n,求和S (s=1+1/2+1/3+1/4+…+1/n)
时间: 2024-01-29 13:04:11 浏览: 276
要求用户输入一个正整数n,然后计算并输出和S,其中S的计算公式为s=1+1/2+1/3+1/4+…+1/n。
以下是一个C++的实现代码:
```cpp
#include <iostream>
int main() {
int n;
double sum = 0.0;
std::cout << "请输入一个正整数n:";
std::cin >> n;
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
std::cout << "和S的值为:" << sum << std::endl;
return 0;
}
```
在这段代码中,我们首先定义了一个整数变量n和一个双精度浮点数变量sum,用于存储用户输入的正整数和计算结果。然后,通过使用`std::cin`从键盘读取用户输入的正整数n。接下来,我们使用一个循环来计算和S的值,循环从1到n,每次将1除以当前循环变量i,并将结果累加到sum中。最后,使用`std::cout`输出计算得到的和S的值。
请注意,这段代码假设用户输入的是一个合法的正整数,没有对输入进行错误处理。在实际应用中,我们应该对用户的输入进行验证和错误处理,以确保程序的健壮性。
相关问题
C语言:由键盘输入一个正整数n,求和S(s=1+1/2+1/3+1/4+...+1/n)
以下是C语言求和S的例子:
```c
#include <stdio.h>
int main() {
int n;
float sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
printf("S的值为:%f\n", sum);
return 0;
}
```
从键盘输入一个正整数n,求 S=1/1+1/2+1/3+……+1/n,保留2位小数。C语言
实现如下:
```c
#include <stdio.h>
int main() {
int n;
float s = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
s += 1.0 / i;
}
printf("S=%.2f", s);
return 0;
}
```
解释:先输入一个正整数n,然后使用循环语句求和。循环从1到n,每次加上1/i,最后输出结果。需要注意的是,1/i 中的 i 是整数,需要用 1.0/i 将其转换为浮点数,确保计算结果的精确性。