| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1052 人关注过本帖
标题:请帮我看一下这个题目答案怎么不对呢???
只看楼主 加入收藏
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
结帖率:93.33%
收藏
已结贴  问题点数:8 回复次数:19 
请帮我看一下这个题目答案怎么不对呢???
每个苹果0.8元,第一天买2个苹果,第二天开始每天是前一天的2倍。直到购买的苹果数小于等于100个。
#include<stdio.h>
main()
{
   int a;
   float y=0,s=1;
   for(a=1;a<=100;a++)
   {
     s=s*2*0.8;
     y=a;
     if(s>=100)
     {
       break;
     }
   }
   printf("%f",s/y);
}

这样答案是10.99元。不对的,正确答案是16.79999元。要求计算平均每天花多少钱?
搜索更多相关主题的帖子: 正确答案 苹果 
2011-04-09 22:27
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
收藏
得分:0 
#include<stdio.h>
main()
{
   int a;
   float y=0,s=1;
   for(a=1;a<=100;a++)
   {
     s=s*2;
     y=a;
     if(s>=100)
     {
       break;
     }
   }
   printf("%f",0.8*s/y);
}

这样是14.628元。也不对。
2011-04-09 22:28
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
收藏
得分:0 
没高手吗??
2011-04-09 22:40
jackboos
Rank: 2
等 级:论坛游民
帖 子:21
专家分:37
注 册:2011-4-6
收藏
得分:0 
什么是前一天的两倍?
2011-04-09 22:45
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
收藏
得分:0 
就是2的几次方
2011-04-09 23:03
恋海情天
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2011-3-29
收藏
得分:0 

#include<stdio.h>
void main()
{
   int a;
   float y=0,s=0;
   for(a=2;a<=100;a=a*2)
   {
     s=a*0.8+s;
     y=y+1;
   }
   printf("%f",s/y);
}
首先你的编程思路是错的,怎么能用for(a=1;a<=100;a++)???
2011-04-09 23:18
wodejia556
Rank: 2
等 级:论坛游民
帖 子:7
专家分:11
注 册:2010-5-8
收藏
得分:5 
#include<stdio.h>
void main()
{
     int x=2;
     float s=0,y,d=0;
     do
     {
          y=x*0.8;
          x*=2;
          d++;
          s=s+y;
           
     }
     while(x<=100);

    printf ("%f",s/d);
}
为什么是16.8000001呢


[ 本帖最后由 wodejia556 于 2011-4-9 23:57 编辑 ]
2011-04-09 23:46
wodejia556
Rank: 2
等 级:论坛游民
帖 子:7
专家分:11
注 册:2010-5-8
收藏
得分:0 
haole

[ 本帖最后由 wodejia556 于 2011-4-9 23:51 编辑 ]
2011-04-09 23:47
王立帅
Rank: 3Rank: 3
来 自:山东淄博
等 级:论坛游侠
帖 子:61
专家分:160
注 册:2011-4-4
收藏
得分:0 
几个变量都代表什么吗 s>= 100???

一个人走
2011-04-10 09:02
相望あ江湖
Rank: 2
等 级:论坛游民
帖 子:11
专家分:25
注 册:2011-4-6
收藏
得分:2 
#include<stdio.h>
main()
{
   int a,all;        all代表全部的苹果数;
   float y=0,s=1;
   for(a=1;a<=100;a++)
   {
     s=s*2;
     all+=s;
     y=a;
     if(s>=100)
     {
       break;
     }
   }
   printf("%f",0.8*all/y);
}

这样才对吧!我没有测试过~~~~
2011-04-10 09:29
快速回复:请帮我看一下这个题目答案怎么不对呢???
数据加载中...
 
   



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

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