c语言代码1+1/2+1/3+……+1/n
时间: 2024-11-24 22:24:57 浏览: 34
在C语言中,计算从1到n的所有分数之和(1/2 + 1/3 + ... + 1/n)可以使用循环结构和累加的方式来实现。这里是一个简单的示例:
```c
#include <stdio.h>
double sum_of_fractions(int n) {
double total = 0; // 初始化总和为0
for (int i = 2; i <= n; i++) { // 从第二个数开始,因为1/1已经包含在内了
total += 1.0 / i; // 将每个分数累加到total上
}
return total;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
if (n <= 0) {
printf("输入错误,n需要大于0.\n");
} else {
double result = sum_of_fractions(n);
printf("从1到%d所有分数的和为: %.2f\n", n, result);
}
return 0;
}
```
在这个代码中,`sum_of_fractions`函数负责计算分数之和,而主函数则读取用户输入并调用该函数。注意,由于浮点数的精度问题,在实际操作时可能会有舍入误差。
相关问题
C语言代码计算1+1/2+1/3+……+1/100
```
#include <stdio.h>
int main() {
float sum = 0.0f;
for (int i = 1; i <= 100; i++) {
sum += 1.0f / i;
}
printf("1 + 1/2 + 1/3 + ... + 1/100 = %.2f\n", sum);
return 0;
}
```
输出:
```
1 + 1/2 + 1/3 + ... + 1/100 = 5.19
```
注意,这里需要用浮点数类型(`float`)来存储结果,因为这个和是无理数,不能用整数类型存储。并且需要限制小数点后的位数,使用 `%.2f` 格式化输出的结果保留两位小数。
编写C语言函数求1+1/2+1/3+1/4+……+1/n的值。
以下是求和函数的C语言代码:
```c
double sum(int n) {
double s = 0;
for (int i = 1; i <= n; i++) {
s += 1.0 / i;
}
return s;
}
```
该函数接受一个整数参数n,表示要求和的项数,返回一个双精度浮点数,即所求的和。
在主函数中可以这样调用该函数:
```c
int main() {
int n = 100;
double s = sum(n);
printf("1+1/2+1/3+...+1/%d = %f\n", n, s);
return 0;
}
```
其中,n可以是任意正整数,这里取100作为示例。运行程序后,将输出1+1/2+1/3+...+1/100的值。
阅读全文