c语言求1+1+2+3+5+8+13前50项的和 流程图

如题所述

#include"iostream.h"
void main()
{int f1,f2,f=0,i;
f1=1;
f2=1;
for(i=3;i<=50;i++)
{f=f1+f2;f1=f2;f2=f;
cout<<f<<endl;}
}
这样就能输出前50个了,但是最好不要用int,因为后面的数越来越大,可能会溢出,所以用double比较好
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-04-15
这个题是斐波那列数吧 f(n)=f(n-1)+f(n-2);
通常的方法是先计算f再计算和(记为a),但其实可以直接推算a的,省了很多事
a(n)=a(n-1)+a(n-2)+1,其中a(1)=1,a(2)=2.
所以,现在编程效率高多了吧?
int a(unsigned int n)
{
int prevs[] = {0,1,2};
if (n <= 2)
{
return prevs[n];
}
else
{
for (int i = 2; i < n; i++)
{
prevs[0] = prevs[1];
prevs[1] = prevs[2];
prevs[2] = prevs[1] + prevs[0] + 1;
}
}

return prevs[2];
}追问

请问 流程图应该怎么画

追答

看代码写流程图就可以了,你根据代码执行写就可以

第2个回答  2016-04-15

c语言程序流程图怎么画?
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。5、赋值运算符 用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,\/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。6、条件运算符 这是一个三目运...

1!+2!+3!+4!+5!+6!+7!+8!+9!+10!用C语言的流程图怎么画
流程图

c语言流程图:求1+2+3+4+5+6+7+8+9+10的值(亲,要图!)
for(i=o;i<10;i++)s=s+i 设定:a是数值,初始值为1,s也是数值,初始值为0。程序开始——判断a是否大于10——分支1——当小于等于10时——运行:s=s+a,a++ 返到判断a处。分支2— 当大于10时——输出a的值,并等待退出程序。

求1!+2!+3!+4!+5!用流程图和C语言表示
int main(){ double i,s=0,t=1;for(i=1;i<=5;i++){ s=s*i;s=s+t;} printf("sum=%f",s);}

如何用C语言画一个流程图?
1、传统流程图:2、思路:比大小,10个数,标上标签,依次为1,2,3...10。然后第1个跟第二个比较大小,如果第1个大于第二个,那么交换下1跟2的标签,如果第1个不大于2第二个,不交换标签,接着比较第二个跟第三个,比完最后一个为止。10标签的就是最大的那个数。3、用C语言方法:读入a[...

1+2+3+...100之和,用传统流程图描述算法,转为C语言源程序
一.1+2+3+...100之和,用传统流程图描述算法是:1.输入S=1,n=1 2.n=n+1,S=S+n 3.判断n是否=100,如果是,那么,go to 4 如果不是,那么:go to 2 4.输出结果S 二.转为C语言源程序 include <stdio.h> void main(){ int sum = 0;int i = 1;while(i <= 100){ sum += ...

C语言 传统流程图 求S=1+2+3+……+100。
流程:1,初始化变量i,S=0;2,对i从1到100进行累加,结果存至S;3,程序结束,结果S=5050。代码:void main(){ int i;int S=0;for (i=1;i<=100;i++){ S=S+i;} }

在已知数列中输入一个数,并按照原序列规律排序 c语言流程图怎么画
流程图如下:

写出1+2+3+…+100的一个算法,并画出流程图和写出算法语句。
(1)算法:第一步,赋值变量S=0,n=0,i=0 第二步,计算i+1,仍用i表示,计算n+i,仍用n表示.计算S+n,仍用S表示.第三步,判断i是否大于等于100.若是,输出S,结束算法;若不是,进行第二步.

用传统流程图表示:问:求1+2…+100(C语言、传统流程图)
流程图:c语言代码:include <stdio.h> int main(){ int i,sum=0;for(i=1;i<=100;i++)sum+=i;printf("%d\\n",sum);return 0;}

相似回答