C语言求1+1+2+3+5+8+....前20项的和求编程 10
11个回答
展开全部
main()
{int i,sum=0;
for(i=1;i<20;i++)
sum=sum+i;
printf("SUM=%d",sum);
}
搞那么复杂干什么。
{int i,sum=0;
for(i=1;i<20;i++)
sum=sum+i;
printf("SUM=%d",sum);
}
搞那么复杂干什么。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace GetDate
{
class Date
{
public int[] GetDate()
{
int[] iArray = new int[30];
iArray[0] = 1;
iArray[1] = 1;
for (int i = 2; i < 30;i++ ) {
iArray[i] = iArray[i - 1] + iArray[i - 2];
}
return iArray;
}
}
}
然后在Main方法里调用该方法获得30个数。输出
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace GetDate
{
class Date
{
public int[] GetDate()
{
int[] iArray = new int[30];
iArray[0] = 1;
iArray[1] = 1;
for (int i = 2; i < 30;i++ ) {
iArray[i] = iArray[i - 1] + iArray[i - 2];
}
return iArray;
}
}
}
然后在Main方法里调用该方法获得30个数。输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.首先弄清楚这组分数序列的规律:
从第二个数开始
分子=前一个数的分子+分母
分母=前一个数的分子
2.需求是前20项之和,因此循环20-1次相加是必然的.
3.第一个数初始化为x=2,y=1
4.从第二个数开始:
分子x=x+y
分母y=x
由于x的值发生变化,因此中间用变量a复制一下.
5.重复上面的操作,直到循环结束.
从第二个数开始
分子=前一个数的分子+分母
分母=前一个数的分子
2.需求是前20项之和,因此循环20-1次相加是必然的.
3.第一个数初始化为x=2,y=1
4.从第二个数开始:
分子x=x+y
分母y=x
由于x的值发生变化,因此中间用变量a复制一下.
5.重复上面的操作,直到循环结束.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-22
展开全部
int sum=0,i,a[20]={1};
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++)
sum+=a[i];
printf("%d",sum);
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++)
sum+=a[i];
printf("%d",sum);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=3,a=1,b=1;
int count=0;
//printf("1 1\n2 1\n");
for (count=a+b,i=3;i<=20;i++){
if(a>=b){
b=a+b;
count+=b;
//printf("%d %d\n",i, b);
}
else{
a=a+b;
count+=a;
//printf("%d %d\n",i, a);
}
}
printf("%d\n",count);
return 0;
}
结果:17710
注释掉的两句是为了看结果是否正确的,如果不注掉的话,打印出:
1 1
2 1
3 2
4 3
5 5
6 8
7 13
8 21
9 34
10 55
11 89
12 144
13 233
14 377
15 610
16 987
17 1597
18 2584
19 4181
20 6765
17710
#include <stdlib.h>
int main()
{
int i=3,a=1,b=1;
int count=0;
//printf("1 1\n2 1\n");
for (count=a+b,i=3;i<=20;i++){
if(a>=b){
b=a+b;
count+=b;
//printf("%d %d\n",i, b);
}
else{
a=a+b;
count+=a;
//printf("%d %d\n",i, a);
}
}
printf("%d\n",count);
return 0;
}
结果:17710
注释掉的两句是为了看结果是否正确的,如果不注掉的话,打印出:
1 1
2 1
3 2
4 3
5 5
6 8
7 13
8 21
9 34
10 55
11 89
12 144
13 233
14 377
15 610
16 987
17 1597
18 2584
19 4181
20 6765
17710
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |