C语言:由键盘输入一个正整数n,求和S(s=1+1/2+1/3+1/4+...+1/n)
时间: 2024-01-29 17:04:02 浏览: 480
以下是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 将其转换为浮点数,确保计算结果的精确性。
c语言从键盘输入一个正整数n,求 1 + 1/1!+1/2!+…+ 1/n!
以下是C语言实现求和的代码:
```c
#include.h>
#include<stdlib.h>
int fac(int n) //阶乘函数
{
int i = 0;
int y = 1; //用来存返回值
if (0 == n || 1 == n) {
return 1;
}
else {
for (i = 2; i <= n; i++) {
y *= i;
}
return y;
}
}
double sum(int n) //求和函数
{
int i = 0; //循环变量
double sum = 0; //和
for (i = 1; i <= n; i++) {
sum += 1.0 / fac(i);
}
return sum;
}
int main() {
int n = 0;
printf("请输入n:>");
scanf("%d", &n);
printf("sum = %lf\n", sum(n));
system("pause");
return 0;
}
```
这段代码首先定义了一个阶乘函数`fac`,用于计算n的阶乘。然后定义了一个求和函数`sum`,在该函数中调用了阶乘函数`fac`来计算每一项的值,并将其累加到总和中。最后,在`main`函数中,从键盘输入一个正整数n,并调用求和函数`sum`来计算1 + 1/1! + 1/2! + … + 1/n!的值,并输出结果。
阅读全文