一道C语言基础题。我想输出1、1/2、2/3、3/5、5/8……前20项的和。怎么输出的是一个很大的数,代码如下。

#include<stdio.h>
void main()
{
float sum,a=1,b=2,i=2;
for(sum=1;i<=20;i++)
{

sum=sum+a/b;
a=b;
b=b+(i-1);

}
printf("%d\n",sum);
}

#include<stdio.h>
void main()
{
float sum,a=1,b=2,i=2;
for(sum=1;i<=20;i++)
{
sum=sum+a/b;
a=b;
b=b+(i-1);
}
printf("%f\n",sum); //float格式为%f
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-17
printf("%d\n",sum);

修改为

printf("%f\n",sum);

float对应 %f
int 对应 %d
第2个回答  2013-04-17
#include<stdio.h>

void main()

{

float sum,a=1,b=2,i=2;

for(sum=1;i<=20;i )

{

sum=sum a/b;

a=b;

b=b (i-1);

}

printf("%f\n",sum);

}
第3个回答  2013-04-17
改成printf("%f\n",sum);
浮点数输出要用%f
第4个回答  2013-04-17
printf("%f\n",sum);
第5个回答  2013-04-17
你求得不是你出的题中的值,你求得是1+1/2+2/3+3/4+4/5……,算法错误,题目数的规律你没分析清

c语言程序设计 计算数列1\/2,2\/3,3\/5,5\/8,8\/13,??的前20项和。
c语言程序设计 计算数列1\/2,2\/3,3\/5,5\/8,8\/13,??的前20项和。 我来答 首页 用户 认证用户 视频作者 帮帮团 认证团队 合伙人 企业 媒体 政府 其他组织 商城 法律 手机答题 我的 c语言程序设计 计算数列1\/2,2\/3,3\/5,5\/8,8\/13,??的前20项和。  我来答 1个回答...

c语言程序设计 计算数列1\/2,2\/3,3\/5,5\/8,8\/13,……的前20项和。
include<stdio.h> int main(){ int i;double a=1.0,b=2.0;double s=0;for (i=1;i<=20;i++){ s+=t*a\/b;b=b+a;a=b-a;} printf("%lf\\n",s);return 0;} ———希望答案能帮到你,要是你有疑问可以追问 当然,采纳也是您的美德,谢谢 ...

c语言,求数列1\/2,2\/3,3\/4,4\/5……前20项之和
sum = sum + i\/(float)i+1; } printf("%f", sum); return 1;} 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 3条折叠回答 其他类似问题2017-06-07 c语言2\/1,3\/2,4\/3,5\/4前20项和 2015-06-02 c语言,有一个数列是1\/2,2\/3,3\/4,……,求前n项的... 1 2012-12-23 c语言...

...数列的前20个数及它们的和:1\/2,2\/3,3\/5,5\/8……
您好,SA团队给出的答案此题主要运用循环语句解决就可以了;:第n项的分子mol等于n-2项的分子mol加上n-1项的分子mol;分母是同样的规律,只是第一项的值不同。

有一个分数序列1\/2,2\/3,3\/5,5\/8,8\/13,13\/21...求这个序列的前20项之和...
include<stdio.h> main(){ double a[20],b[20];int i=0;double sum=0;a[0] = 1;b[0] = 2;a[1] = 2;b[1] = 3;for (i=2;i<20;i++){ a[i] = a[i-2] + a[i-1];b[i] = b[i-2] + b[i-1];} for (i=0;i<20;i++){ sum += a[i]\/b[i];} p...

...3\/2,5\/3,8\/5,13\/8,21\/13...求出这个数列的前20项之和。
1,2,3,5,8,13,21 ... 从第三项开始,F(n)=F(n-1)+F(n-2),符合斐波那契数列特征。本题的分数序列,以上述数列的第n项作为n项的分母,以n+1项作为n项的分子。不懂C语言。一般来说,分数计算的结果,应该以分数形式精确表达。写了一段fortran代码,计算这个数列前20项的和。sum =...

用c语言写s=1\/2+2\/3+3\/5+5\/8+...前20项的和
An=An_1+An_2; \/\/数列下一项 分母 S += An_1\/An; \/\/累加 An_2=An_1; An_1=An; \/\/叠代 } return S;} void main(){ int Nx;printf("退出方法: 输入小于0的数 或用CTRL+C\\n");while(1){ printf("\\n请输入累加的前N项数目:");fflush(stdin); \/\/清空键盘输入缓冲区 ...

...序列:2\/1,3\/2,5\/3,8\/5,13\/8,21\/13...求出前20项之和
float i=1.0,j=2.0,sum=0.0,temp;int n;for(n=0;n<20;n++){ sum+=j\/i;temp=j; \/\/temp存储前一个分数的分子j j=i+j; \/\/j赋值为此次循环的分子与分母之和,它将作为下次的分子 i=temp; \/\/i赋值为此次循环的分子,它将作为下次的分母 } printf("The SUM is %f\\n",sum);...

...序列2\/1,3\/2,5\/3,8\/5,13\/8,...求出这个数列前20项之和
include <stdio.h> double sum(int n){ int i;double part = 0;for( i = 1.0; i <= n; i++ )part += (1.0 \/ i);return 2 * n - part;} int main(void){ printf( "%.18f\\n", sum(20) );return 0;} 楼主,小数点后的精度你可以根据需要自己调,我选的是18位。

c语言,编程实现,求斐波那契数列,1,1,2,3,5,8,...的前20项及前20项...
C语言源程序如下:include<stdio.h> int main(){ int array[100]={1,1};\/\/斐波那契数列前两个元素均为0 int i=0;\/\/循环变量 int n=20;\/\/数列需要求的个数 int sum = 0;\/\/和变量 for(i=2;i<n+1;i++)\/\/按递推原理依次求出后续元素 { array[i]=array[i-1]+array[i-2];\/...

相似回答