标题:Easy的循环问题
只看楼主
zhsb8529869
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-6-28
结帖率:100%
已结贴  问题点数:10 回复次数:4 
Easy的循环问题
题目:有一对兔子,从出生后第3个月起每个月都生一对有公有母的兔子,每对小兔子长到第
三个月后也是一样,假如兔子不死,问第十个月的兔子总数?


#include "stdio.h"
void main()
{
    long f1,f2,sum;        
    int i;
    f1=f2=1;
    printf("%d %d ",f1,f2);
    i=1;
    while(i<=8)
    {
        sum=f1+f2;
        printf("%d ",sum);
        f1=f2;
        f2=sum;
        i++;
    }
    printf("\n第十个月的兔子总数是:%d 个\n",sum*2);
}


红色部分不懂什么意思...
搜索更多相关主题的帖子: Easy 
2010-08-02 14:03
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
得分:5 
回复 楼主 zhsb8529869
#include "stdio.h"
void main()
{
    long f1,f2,sum;        
    int i;
    f1=f2=1;/*定义f1为前一月兔子数量,f2为当月兔子数量,都为1对*/
    printf("%d %d ",f1,f2);
    i=1;
    while(i<=8)/*前两个月兔子数量都是一对,所以只需循环8次*/
    {
        sum=f1+f2;/*从第三个月开始,每月的兔子总数等于前两月的兔子数量之和*/
        printf("%d ",sum);
        f1=f2;/*将前一月的数量赋值给f1*/
        f2=sum;/*当月数量赋值给f2*/
        i++;
    }
    printf("\n第十个月的兔子总数是:%d 个\n",sum*2);
}
2010-08-02 15:05
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
得分:5 
    while(i<=8)//小于8,意思是求8个月后的兔子数量做循环
    {
        sum=f1+f2;//就是说前一个加后一个赋予sum
        printf("%d ",sum);//打印sum
        f1=f2;//把f2赋给f1
        f2=sum;//把sum赋给f2
        i++;//加i否则就是死循环
    }
这段代码就是兔子问题:http://baike.baidu.com/view/568970.htm

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-08-02 15:27
fengheng
Rank: 1
来 自:shanghai
等 级:新手上路
帖 子:24
专家分:8
注 册:2010-5-25
得分:0 
学习

虚心使人进步,做最好的自己!
2010-08-04 19:32
无悔爱白修
Rank: 2
等 级:论坛游民
帖 子:28
专家分:27
注 册:2010-3-24
得分:0 
我自己写了一个。你看下:
#include <stdio.h>
 
void main()
{
    int birth,f1,f2;//birth 正在生产的兔子对数。f1为一个月后生产的对数。f2为二个月后生产的对数。
    int num,i;

    birth = 1;
    f1 = 0;
    f2 = 0;

    printf("please input the months:");
    scanf("%d",&num);

    if(num < 3)
        printf("the rabbit is 1.\n");

    for(i=3;i<=num;i++)
    {
        birth = birth + f1; //一个月后可生产的兔子对数
        f1 = f2;            //2个月好生产的兔子对数成为一个可生产
        f2 = birth;         //此月生产下的兔子对数为2个月后好生产的兔子。
    }

    printf("the rabbits is: %d.\n",(birth+f1+f2)*2);
}
2010-08-04 23:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-314595-1-1.html




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

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