c语言写的兔子繁殖- 斐波那契数列。不知道问题在哪。每次只显示前两个。

#include"stdafx.h"#include"stdio.h"voidfunction(inta){longsum1,sum2,sum3;if(a>=1){sum... #include "stdafx.h"

#include "stdio.h"

void function(int a)
{
long sum1,sum2,sum3;
if(a>=1)
{
sum1=1;
printf("M. 1%10ld",sum1);
}
if(a>=2)
{
sum2=1;
printf("M. 2%10ld",sum2);
}
else
for(int i =3;i<=a;i++)
{
sum3=sum1+sum2;
sum1=sum2;
sum2=sum3;
printf("M. i%10ld",sum3);
if(i%3==0)
printf("\n");
}
}

int main()
{
int sum =1;
printf("Plese enter the sum");
scanf("%d",&sum);
void function(int);
function(sum);
scanf("%d",&sum);
}
展开
 我来答
天天向上李亚飞
2012-01-08 · 学习——就要天天向上!
天天向上李亚飞
采纳数:540 获赞数:3878

向TA提问 私信TA
展开全部
#include "stdafx.h"

#include "stdio.h"

void function(int a)
{
long sum1,sum2,sum3;
if(a>=1) /* 改成 if( a==1 ) */
{
sum1=1;
printf("M. 1%10ld",sum1);
}
if(a>=2) /* 改成 else if( a==2 ) */
{
sum2=1;
printf("M. 2%10ld",sum2);
}
else
for(int i =3;i<=a;i++)
{
sum3=sum1+sum2;
sum1=sum2;
sum2=sum3;
printf("M. i%10ld",sum3);
if(i%3==0)
printf("\n");
}
}

int main()
{
int sum =1;
printf("Plese enter the sum");
scanf("%d",&sum);
void function(int);
function(sum);
scanf("%d",&sum);
}
追问
改过之后好像有溢出。你运行试试。
追答
改好了,你试试

#include "stdafx.h"
#include "stdio.h"
void function(int);

void function(int a)
{
long sum1=1,sum2=1,sum3;
int i;

if(a>=1)
{
printf("M.%-3d : %10ld\t",1,sum1);
}

if( a>=2 )
{
printf("M.%-3d : %10ld\t",2,sum2);
}

for(i=3;i<=a;i++)
{
sum3=sum1+sum2;
sum1=sum2;
sum2=sum3;
printf("M.%-3d : %10ld\t",i,sum3);
if(i%3==0)
printf("\n");
}
}

int main()
{
int sum =1;
printf("Plese enter the sum : ");
scanf("%d",&sum);

function(sum);
printf("\n");

}
fangming0308
2012-01-08 · TA获得超过749个赞
知道小有建树答主
回答量:983
采纳率:0%
帮助的人:438万
展开全部
if(a>=1)
if(a>=2)
条件错误
所以else
for(int i =3;i<=a;i++)
判断为当a<1时才执行,所以你输入大于1的数都只得打印出1 1 两个数

正确修改为
if(a==1)
if(a==2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式