用c语言:求1至1/n的前n项和,输入一个正整数计算1+1/2+1/3+…… (保留小数点后3位)
时间: 2024-11-27 16:17:10 浏览: 14
在C语言中,你可以使用循环和浮点数运算来计算这个序列的和。这里是一个简单的程序示例:
```c
#include <stdio.h>
#include <math.h>
double calculate_sum(int n) {
double sum = 0.0;
for (int i = 1; i <= n; ++i) {
sum += 1.0 / i;
}
return roundf(sum * 1000) / 1000.0; // 使用roundf函数四舍五入到小数点后三位
}
int main() {
int input;
printf("请输入一个正整数n: ");
scanf("%d", &input);
if (input > 0) {
double result = calculate_sum(input);
printf("1到1/%d的前%d项和为: %.3lf\n", input, input, result);
} else {
printf("输入错误, 请输入一个正整数。\n");
}
return 0;
}
```
在这个程序中,`calculate_sum`函数负责计算和,然后`main`函数接收用户输入并调用该函数。注意我们使用`roundf`函数对结果进行四舍五入,并最终只保留小数点后三位。
相关问题
求e:输入一个正整数n,计算下式的和:e=1+1/1!+1/2!+1/3!+……+1/n!写出相应C语言程序
以下是求e的C语言程序:
```c
#include<stdio.h>
int main(void) {
int i, j, n;
double e, item;
printf("Input n:");
scanf("%d", &n);
e = 1;
for (i = 1; i <= n; i++) {
item = 1;
for (j = 1; j <= i; j++) {
item = item * j;
}
e = e + 1.0 / item;
}
printf("e=%.4f\n", e);
return 0;
}
```
C语言编写一个程序:输入正整数n,计算输出1+1/3+1/5+……+1/n的前n项和
```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 / (2*i-1); // 计算每一项的值并累加到sum中
}
printf("1/1 + 1/3 + 1/5 + ... + 1/%d = %lf\n", n, sum);
return 0;
}
```
阅读全文