| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 487 人关注过本帖
标题:我到底错在哪了?
只看楼主 加入收藏
edawar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-7-12
收藏
 问题点数:0 回复次数:7 
我到底错在哪了?
题目是这样的 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
/*下面是我写的*/
main()
{
int n;
printf("\nplease input the month\n");
scanf("%d",&n);
if(n>2)
zh(n-2);
else
printf("\ntotal is 1\n");
}
zh(int n)
{
int sum3=1,sum2=1,sum1=1,sum;/*定义前三个月的兔子总数,sum3是3个月前,sum2是2个月前,sum1是上个月,sum是本月*/
if(n>=0)
{
sum=sum3+sum1;/*本月兔子数等于三个月前的兔子数+上月兔子数*/
n--;
sum3=sum2;sum2=sum1;sum1=sum;
zh(n);
}
else
printf("\ntotal is %d",sum);
}/*都调试过,没有问题就是输出的兔子数老不对,差的太离谱了,比如我输入3,居然输出513,,我到底哪里错了,不要骂我啊 我是新人*/

[此贴子已经被作者于2006-7-14 8:50:59编辑过]

搜索更多相关主题的帖子: 小兔子 
2006-07-14 08:44
黑夜不来风
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-7-14
收藏
得分:0 

#include <stdio.h>

void man()
{
int f1 = 1;
int f2 = 1;
int n = 1;
for(n=1;n<=10;n++)
{
printf("%10.1d,%10.1d",f1,f2);

f1=f1+f2;
f2=f2+f1;

if(n%2==0)
printf("\n");

}
}

//算一下前几个月兔子的数量 依次 为 1,1,2,3,5,8,13.........自己就可以找出规律..


做一个固执的人 始终量化标准...
2006-07-14 08:55
黑夜不来风
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-7-14
收藏
得分:0 

#include <stdio.h>

void mian()
{
int f1 = 1;
int f2 = 1;
int n = 1;
for(n=1;n<=10;n++)
{
printf("%10.1d,%10.1d",f1,f2);

f1=f1+f2;
f2=f2+f1;

if(n%2==0)
printf("\n");

}
}

//算一下前几个月兔子的数量 依次 为 1,1,2,3,5,8,13.........自己就可以找出规律..

ps;上面mian写做了 ....


做一个固执的人 始终量化标准...
2006-07-14 08:56
edawar
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-7-12
收藏
得分:0 

谢谢 楼上的 我只想知道为什么我输出的结果会差那么大 到底是什么问题!

2006-07-14 09:02
黑夜不来风
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-7-14
收藏
得分:0 
#include <stdio.h>
zh(int n)
{
int sum3=1,sum2=1,sum1=1,sum;/*定义前三个月的兔子总数,sum3是3个月前,sum2是2个月前,sum1是上个月,sum是本月*/
if(n>=0)
{
sum=sum3+sum1;/*本月兔子数等于三个月前的兔子数+上月兔子数*/
n--;
sum3=sum2;sum2=sum1;sum1=sum;
zh(n);
}
else
printf("\ntotal is %d",sum);
}
void main()
{
int n;
printf("\nplease input the month\n");
scanf("%d",&n);
if(n>2)
zh(n-2);
else
printf("\ntotal is 1\n");
}

好麻烦哦,好多我都没看,建议去给变量附初值.看看.

做一个固执的人 始终量化标准...
2006-07-14 09:15
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
这是一个Fibonacci数列问题
解法如下:
#include<stdio.h>
main()
{
long f1=1,f2=1;
int i;
for(i=1;i<=;i++)
{
printf("%12d%12d",f1,f2);
if(i%2==0);
printf("\n");
f1=f1+f2;
f2=f2+f1;
}
}

倚天照海花无数,流水高山心自知。
2006-07-14 18:50
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
呵呵,写的和楼上的差不多是一样了,真不好意思.

倚天照海花无数,流水高山心自知。
2006-07-14 18:52
yydf
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2006-7-13
收藏
得分:0 

我没看懂楼主的意思. 给出的题目没叫你输入数啊?
你输入数,输入的这个数是什么意思啊?

这题目一看就知道是基础题:
设f1 为第一只兔子=1, f2 为第二只兔子=1

f1=f1+f2;
f2=f1+f2;
用sum变量计数..

2006-07-15 03:10
快速回复:我到底错在哪了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022588 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved