|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 寥若晨星 于 2011-7-19 09:27 编辑
看鱼大的视频的时候,他提出试着做一下,求任意项fibonicc数的练习。由于当时视频刚讲到循环,于是我想为难下自己,看自己能不能仅用循环写出这个题。
下边是代码:
- //求任意一项fibonicc数
- #include<stdio.h>
- #include<conio.h>
- void main()
- {
- double f1=1,f2=1;
- int n,i;
- printf("请输入要求的第N项fibonicc数:\n");
- scanf("%d",&n);
- if(n%2==0) //当输入的项数为偶数时按如下算法输出
- {
- for(i=1; i< n/2; i++)
- {
- printf("%.lf %.lf ",f1,f2);
- f1=f2+f1;
- f2=f1+f2;
- }
- printf("%.lf %.lf\n第%d项数为:%.lf"f1,f2,n,f2);
- }
- else if(n%2!=0) //当输入的项数为奇数时按如下算法输出
- {
- for(i=1;i<=n/2; i++)
- {
- printf("%.lf %.lf ",f1,f2); //由于n/2将得到偶数项,只会输出到前n-1项
- f1=f2+f1;
- f2=f1+f2;
- }
- printf("%.lf\n第%d项数为:%.lf",f1,n,f1); //所以输出结果的时候要加第n项
- }
- printf("\n");
- getch();
- }
复制代码
想了好久,不知道各位还有没有更好的算法?仅用循环,不用函数或者数组做。
|
|