C语言编程:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

C语言编程:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。... C语言编程:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 展开
 我来答
果果就是爱生活
高能答主

2020-04-16 · 专注生活教育知识分享
果果就是爱生活
采纳数:2071 获赞数:272268

向TA提问 私信TA
展开全部

public class 第二十题求数列之和 {

    public static void main(String[] args) {

        System.out.println("数列的和为:" + getValue(20));

    }

//获取第i项的值    2/1,3/2,5/3,8/5,13/8

public static double getValue(int n) {

    double a=2; //分子

    double b = 1;//分母

    double sum = 0; //值

    double temp = 0;//临时变量

    for(int i = 0; i < n; i++) {

         sum += a/b; 

         temp = a;

         a += b;

         b = temp;

    }

    return sum;

}

}

扩展资料:   

for循环度是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为问:for(单次表达式;条件表达式;末尾循环体){中间循环体;}

执行过程为:

求解表达式1;

求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第答5步;

求解表达式3;

转回上面第2步继续执行;

循环结束,执行 for 语句下面的语句。

执行过程中,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。

问明6E
高粉答主

2019-06-15 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

#include<stdio.h>

/*

函数名:Gcd

参数列表:长整型数M,N(M>N)

函数功能:用欧几里得算法求最大公约数

返回值:M与N的最大公约数

*/

longGcd(longM,longN)

longRem;

while(N>0)

Rem=M%N;

M=N;

N=Rem;

returnM;

/*

函数名:fun

参数列表:单项分子a,单项分母b,最终分子alast,最终分母blast,项数n

函数功能,分数求和

返回值:无

*/

int fun(int*a,int*b,long*alast,long*blast,intn)

if(n==0)ﻩﻩﻩﻩﻩ//结束递归条件

return-1;

int i;

*alast=(*alast)*(*b)+(*blast)*(*a);

*blast=(*blast)*(*b);//对最终值进行约分

longfactor=Gcd(*alast,*blast);//最大公约数

*alast=*alast/factor;

*blast=*blast/factor;

printf("+%d/%d",*a,*b);ﻩﻩﻩ系

*b=*a-*b;

n--;

fun(a,b,alast,blast,n);//递归

return0;

intmain()

int n;

int a=3,b=2;

longalast=2,blast=1;

printf("Inputn=");ﻩﻩﻩﻩ//输入需要求的项数

scanf("%d",&n);

printf("2/1");

fun(&a,&b,&alast,&blast,n-1);

printf("=%ld/%ld\n",alast,blast);

return0;


扩展资料:

一、return在函数中的作用

我们如果将函数看做一个加工厂,参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品。

二、return语句的特点

1、在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的。

2、它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量。

3、执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。

三、return的默认值:return函数默认的返回值为undefined。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cd1359626329
推荐于2017-12-16
知道答主
回答量:10
采纳率:0%
帮助的人:6.8万
展开全部
#include <iostream.h>
#define N 20
void main()
{
double sum=0,x=2,y=1,i,j;
for(i=0;i<N;i++)
{
sum+=(x/y);
j=x;
x=x+y;
y=j;
}
cout<<sum<<endl;
}这是求前N项和,只要把前面的#define N 20后面的20改下就可以求其他的了 希望能帮到你
追问
谢谢啊,  不过你最后的那个cout<<sum<<endl;
我没学 暂时 ,, 可以告诉一下意思吗
追答
cout<<sum<<endl;就相当于printf("%f",sum);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友79054ee
2012-04-06 · TA获得超过190个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:121万
展开全部
int i=1,j=2,n=0;
double sum;
while(n!=20)
{sum+=double(j/i);
int m=j;
j=i+j;
i=m;
++n;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小河流720
2012-04-06 · 超过12用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:30.3万
展开全部
#include<stdio.h>
void main() {
int m = 1, n = 2, i, t;
float sum = 0;
for( i = 0; i < 20; i++)
{
sum += (float) n/m;
t = n;
n = n + m;
m = t;
}
printf("%f\n",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式