| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1564 人关注过本帖, 1 人收藏
标题:汽车加油问题 着急,知道的帮下忙
只看楼主 加入收藏
wangyang916
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-12-3
收藏(1)
 问题点数:0 回复次数:13 
汽车加油问题 着急,知道的帮下忙
下面是汽车加油的一个问题,读入行驶的总公里数和每次加满油后使用的燃料数,计算并显示每次加油后的每加仑平均行驶的里程数,然后还要计算并显示所有燃料的每加仑平均行驶的里程数,下边是我写的程序:#include <stdio.h>
int main ()
{
    int miles;
    int total;
    int counter;
    float gallons;
    float s;
    float average;
    total=0;
    counter=0;
    printf ("Enter the gallons used (-1 to end):");
    scanf ("%f",&gallons);
    printf ("Enter the miles driven:");
    scanf ("%d",&miles);
    s = (float)  miles / gallons;
    printf ("The miles / gallon for this tank was %f\n\n",s);

    while (gallons!=-1)
    {
        counter += gallons;
        total += miles;
        printf ("Enter the gallons used (-1 to end):");
        scanf ("%f",&gallons);
        if (gallons!=-1)
            {
                printf ("Enter the miles driven:");
                  scanf ("%d",&miles);
                  s = (float)  miles / gallons;
                  printf ("The miles / gallon for this tank was %f\n\n",s);
            }
        else   
            {
                average = (float) total / counter;
                printf ("\nThe overall average miles/gallon was %f\n",average);
              }
    }

}
别的都对,就是最后计算平均数的时候,有小数点就不对,别的都没问题,哪位知道,帮帮忙,看看那里错了

[[it] 本帖最后由 wangyang916 于 2008-12-9 15:46 编辑 [/it]]
搜索更多相关主题的帖子: 汽车 加油 
2008-12-09 15:44
dillon
Rank: 1
等 级:新手上路
威 望:2
帖 子:183
专家分:0
注 册:2008-10-6
收藏
得分:0 
你把int miles;
    int total;
    int counter;
改成  float miles;
    float total;
    float counter;
2008-12-09 15:59
gao6828059
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-12-9
收藏
得分:0 
看看
2008-12-09 16:47
wangyang916
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-12-3
收藏
得分:0 
回复 第2楼 dillon 的帖子
不行,改成浮点的话出来的结果全是0了,如果在强制浮点,结果会很多很多,呵呵,谢谢帮忙啊
2008-12-09 17:00
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
我没理解您的意思,刚才在编译器上测试,发现可以输出小数点,请再描述一下这个程序出现的错误好吗?
2008-12-10 18:33
wangyang916
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-12-3
收藏
得分:0 
就是最后显示的数值不对,整数的话好象没有问题,但是小数的话就不对了
2008-12-10 19:42
wangyang916
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-12-3
收藏
得分:0 
我用的这三组数值,(12.8 287)(10.3  200)(5  120)他们各自的平均值都对,但是,最后算出的总平均值多了,应该是21.601423,但是显示的是22.481482,不知道是怎么出来的那么个结果,所以想找人问一下看看结果是怎么错了的

[[it] 本帖最后由 wangyang916 于 2008-12-10 19:50 编辑 [/it]]
2008-12-10 19:44
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
miles  、total  、counter 这三个变量,全部改为 float 就正确了。
2008-12-10 21:27
wangyang916
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-12-3
收藏
得分:0 
额。。。貌似不行,2楼说过了,我试了一下,结果出来的全是0
2008-12-10 22:23
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 第9楼 wangyang916 的帖子
我的编译器正常。如果您用的是WIN-TC之类的,请换个编译器再试试。貌似对浮点数的支持不太好。
2008-12-10 22:27
快速回复:汽车加油问题 着急,知道的帮下忙
数据加载中...
 
   



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

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