C语言题目:从键盘输入一个正整数n,求 S=1/1+1/2+1/3+……+1/n,保留2位小数。写出代码
时间: 2023-09-16 16:10:21 浏览: 668
很高兴为您解答。以下是代码:
```c
#include <stdio.h>
int main()
{
int n, i;
float sum = 0.0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 1; i <= n; ++i) {
sum += 1.0 / i;
}
printf("S = %.2f", sum);
return 0;
}
```
输入一个正整数n后,通过 for 循环遍历 1 到 n 的每个数,并将每个数的倒数相加。最后输出结果,保留两位小数。
希望能解决您的问题。
相关问题
从键盘输入一个正整数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 将其转换为浮点数,确保计算结果的精确性。
用C语言从键盘输入一个正整数n,求 S=1/1+1/2+1/3+……+1/n,保留2位小数。
```c
#include <stdio.h>
int main() {
int n;
double sum = 0;
printf("请输入正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += 1.0 / i;
}
printf("S=%.2lf", sum);
return 0;
}
```