| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1153 人关注过本帖
标题:错在哪里。。。。新手,别骂我。。。兔子问题
只看楼主 加入收藏
mzxws1976
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-3-2
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:17 
错在哪里。。。。新手,别骂我。。。兔子问题
#include <stdio.h>
void main()
{
    int i,j,k,month,N;
    i=1,j=1,k=2,month=1;
    scanf("%d",&N);
    while(N>=month)
    {
        k=k+i;
        i=i+j;
        month=month+1;
        if(N<month)
            printf("%d\n",k);
        else
            k=k+j;
        j=i+j;
        month=month+1;
    }
    printf("%d\n",k);
}
搜索更多相关主题的帖子: include 兔子 
2011-03-29 17:31
张敏樱木花道
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:137
注 册:2011-3-26
收藏
得分:1 
你应该告诉一下这段程序的作用……这样比较好改正。呵呵,我也是新手。共同学习。
2011-03-29 17:45
张春平
Rank: 3Rank: 3
来 自:北城
等 级:论坛游侠
帖 子:48
专家分:124
注 册:2010-12-2
收藏
得分:1 
i=1,j=1,k=2,month=1;
这一行就错了。语句之间不能用逗号,只能用分号。不然i,j,k就相当于没有赋值。只有month才赋了值。
2011-03-29 18:02
爱海松涛
Rank: 3Rank: 3
来 自:安徽合肥
等 级:论坛游侠
帖 子:120
专家分:197
注 册:2011-2-25
收藏
得分:1 
同意楼上的。i=1,j=1,k=2,month=1;改成i=1;j=1;k=2;month=1;就可以了。。

2011-03-29 18:20
sanye2010
Rank: 2
等 级:论坛游民
帖 子:23
专家分:41
注 册:2011-3-29
收藏
得分:1 
我给个方法吧:
#include<stdio.h>
main()
{
    int f,f0=0,f1=1,month,k=1;    /*这里用f表示相对第三个月的兔子对数,f0代表第一个月的兔子对数,f1代表第二个月的对数,k用于计数我们统计了个                                月的数据,month用于接收需要统计的月数*/
    scanf("%d",&month);
    while(k<=month)
    {
        f=f0+f1;/*f是相对的第三个月的对数,最后一个月的兔子对数*/
        f0=f1;
        f1=f;
        k++;
    }
    printf("%5d\n",f);
}

/*已通过VC++6.0环境编译*/

-----跳---->我跳--->我跳----->我再跳-------->掉坑里了吧(!)------c语言就这样。
2011-03-29 19:03
sanye2010
Rank: 2
等 级:论坛游民
帖 子:23
专家分:41
注 册:2011-3-29
收藏
得分:0 
反对     3楼,4楼
i=1,j=1,k=2,month=1;          :这样写是由逗号表达式构成的c语句,他的执行顺序是从左向右依次执行的,不影响赋值效果

i=1;j=1;k=2;month=1;        :这个是c语言的四个赋值语句,效果同上


-----跳---->我跳--->我跳----->我再跳-------->掉坑里了吧(!)------c语言就这样。
2011-03-29 19:10
minand
Rank: 2
等 级:论坛游民
帖 子:71
专家分:89
注 册:2011-3-16
收藏
得分:1 
#include <stdio.h>
void main()
{
    int i,j,k,month,N;
    i=1;j=1;k=2;month=1;
    scanf("%d",&N);
    if(N<month)
    {  
       k=k+i;
        i=i+j;
        month=month+1;
         printf("%d\n",k);
      }
        else
            k=k+j;
        j=i+j;
        month=month+1;
    printf("%d\n",k);
}
估计这是你要的
2011-03-29 19:13
_Unsolved
Rank: 2
等 级:论坛游民
帖 子:6
专家分:45
注 册:2011-3-28
收藏
得分:1 
这代码可以简化下看的也比较清楚
#include <stdio.h>
void main()
{
    int i = 1, j = 1, k = 2, month = 1;
    int N;
    scanf("%d",&N);
    while(N>=month)
    {
        k=k+i;
        i=i+j;
        month=month+1;
        if(N<month)               
            printf("%d\n",k);     
        else
            k=k+j;
        j=i+j;
        month=month+1;
    }
    printf("%d\n",k);
}
至于你写的这段程序是干什么的呢也应该说下,这样大家才好帮你看错在哪里
2011-03-29 19:33
mzxws1976
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-3-2
收藏
得分:0 
公元1202年,一位意大利比萨的商人斐波拉契在他的《算盘全书》中提出过一个“养兔问题”:假定一对兔子在它们出生整整两个月以后可以生一对小兔子,其后每隔一个月又可以再生一对小兔子。如果现在一个笼子里有一对大兔子和它们刚生下来的一对小兔子,请问一年以后笼子里应该有几对兔子?
2011-03-30 10:42
mzxws1976
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-3-2
收藏
得分:0 
回复 4楼 爱海松涛
,是可以的哦。。。。
2011-03-30 10:43
快速回复:错在哪里。。。。新手,别骂我。。。兔子问题
数据加载中...
 
   



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

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