C语言程序设计 如下图,计算数列和
3个回答
展开全部
#include <stdio.h>
// 计算第n项的分母,分子即n+1项
int number(unsigned int n)
{
if (n <= 2)
return n;
else
return number(n - 1) + number(n - 2);
}
int main()
{
int n = 0; // 用于保存输入项数
float sum = 0.0; // 用于保存结果
scanf("%d", &n); // 输入项数
// 循环计算结果
for (int i = 1; i <= n; i++)
sum += (float)number(i + 1) / number(i);
printf("%.4f\n", sum); // 输出结果
}
追问
经过实测正确O(∩_∩)O。。。还加了批注,很好。。就是写的复杂了点。。
展开全部
#include<stdio.h>
int main()
{
int i,a0=2,b0=1,a1=3,b1=2;
int n=0;
double result = 2;
scanf("%d",&n);
for(i=1;i<n;i++)
{
result += (a1*1.0/(b1*1.0));
a1 = a0+a1;
b1 = b0+b1;
a0 = a1-a0;
b0 = b1-b0;
}
printf("%.4lf",result);
}
这里面a0与b0组成前一项;a1与b1构成后一项,然后利用前后向关系用
a1 = a0+a1;
b1 = b0+b1;
a0 = a1-a0;
b0 = b1-b0;
来迭代计算出来
更多追问追答
追问
运行后提示missing“)”before“{”
和missing“;”before“}”
怎么回事啊?
第一个错了,是missing“)” before“}”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main(void)
{
int n,i;
float a,b,c,sum=0;
scanf("%d",&n);
a = 1.0;b = 2.0;
for(i=1;i<=n;i++)
{
sum+=b/a;
c = a;
a = b;
b = b+c;
}
printf("%.4f",sum);
return 0;
}
int main(void)
{
int n,i;
float a,b,c,sum=0;
scanf("%d",&n);
a = 1.0;b = 2.0;
for(i=1;i<=n;i++)
{
sum+=b/a;
c = a;
a = b;
b = b+c;
}
printf("%.4f",sum);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询