使用c语言,输入整数N,有一分数序列:2/1 ,3/2 ,5/3,8/5,13/8, 21/13......求出这个数列的前N项之和,保留两位小数。注意:四舍五入!
时间: 2023-11-04 11:07:09 浏览: 76
这道题可以使用循环来实现。我们可以定义三个变量a、b、sum,分别表示数列中的分子、分母和前N项之和。初始时,a=2,b=1,sum=2。然后我们可以使用循环,从第三项开始,每次将a+b赋值给a,将a赋值给b,然后将a/b加到sum中。最后输出sum即可。需要注意的是,输出时需要保留两位小数并进行四舍五入。
参考代码如下:
```
#include <stdio.h>
#include <math.h>
int main() {
int n;
double a = 2, b = 1, sum = 2;
scanf("%d", &n);
for (int i = 3; i <= n; i++) {
double temp = a;
a = a + b;
b = temp;
sum += a / b;
}
printf("%.2f", round(sum * 100) / 100);
return 0;
}
```
相关问题
在c语言中,有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
可以用循环来逐项计算并累加,代码如下:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
double sum = 0;
double a = 2, b = 1; // 第一项是 2/1
for (int i = 1; i <= n; i++) {
sum += a / b;
double tmp = b;
b = a;
a = a + tmp; // 下一项的分子是前两项之和,分母是前一项
}
printf("%.2f\n", sum);
return 0;
}
```
输入一个正整数 N,输出前 N 项之和,保留两位小数。例如,输入 6,输出为 11.48。
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和的整数部分c语言代码
int n, i;
double numerator, denominator, temp = 0;
scanf("%d", &n);
numerator = 2.0;
denominator = 1.0;
for (i = 1; i <= n; i++) {
temp += numerator / denominator;
numerator += denominator;
denominator = numerator - denominator;
}
printf("%d\n", (int)temp);
return 0;
阅读全文