| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3885 人关注过本帖
标题:老话题:猴子吃桃子的题目 采用不同的循环函数为何结果不同
取消只看楼主 加入收藏
andre116
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
老话题:猴子吃桃子的题目 采用不同的循环函数为何结果不同
题目:猴子吃桃子问题。猴子第一天摘下若干个桃,当即只一半,又多吃一个。第二天早上又将剩下的一半吃掉一半,双多吃一个。以后每天早上都吃了前天剩下的一半零一个,到第10天早上只剩下最后一个桃。问第一天摘了几个桃。

我一开始用 for循环写的代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
    int i = 1;  //定义循环天数
    int y = 1; //定义剩余桃子
    int y1;   //定义前一天剩余的桃子   y= y1/2-1
    printf("\n猴子吃桃子,每天吃一半加一个,十天后仅剩一个了。问桃子总共多少?");
    for (i = 1; i <= 10; i++)
    {
        y1 = 2 * (y + 1);
        y = y1;
    }
    printf("\n桃子的总数量是 %d", y);
        system("pause");
}

得到的结果是 3070

但是我后来又改为用while循环来写,却压根不显示结果

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
    int i = 1;  //定义循环天数
    int y = 1; //定义剩余桃子
    int y1;   //定义前一天剩余的桃子   y= y1/2-1
    printf("\n猴子吃桃子,每天吃一半加一个,十天后仅剩一个了。问桃子总共多少?");
        
        while (i <= 10);
    {
        y1 = 2 * (y + 1);
        y = y1;
        i++;
    }
    printf("\n桃子的总数量是 %d", y);
    system("pause");
}

实在不得其解,还请各位帮忙看下到此错在哪里? 为何用while来写就没有结果输出呢

多谢!
搜索更多相关主题的帖子: include 
2015-07-22 19:06
andre116
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-8
收藏
得分:0 
感谢楼上各位帮忙!

确实如楼上所述,多加了分号所致;同时也用递归算法也试验了遍。

哈哈哈,有收获!

相信生活!
2015-07-22 23:04
andre116
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-8
收藏
得分:0 
回复 2楼 hjx1120
我刚在机子上按照你的代码跑了下,输入天数后回车,屏幕一闪就灭了。

开头加了 #include <stdlib.h>头文件,结尾加了system("pause");
但结果还是一闪就灭了。

相信生活!
2015-07-22 23:26
andre116
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-8
收藏
得分:0 
回复 6楼 张小盒有态度
刚跑了下,是可以的,而且比我写的那个简单。

相信生活!
2015-07-22 23:35
快速回复:老话题:猴子吃桃子的题目 采用不同的循环函数为何结果不同
数据加载中...
 
   



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

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