| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 541 人关注过本帖
标题:帮忙看一下这个程序哪里错了,为什么输入实数时运行的结果总是不对?
只看楼主 加入收藏
°詠恆┈℡
Rank: 1
等 级:新手上路
帖 子:12
专家分:6
注 册:2009-10-9
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
帮忙看一下这个程序哪里错了,为什么输入实数时运行的结果总是不对?
#include<stdio.h>
void main()
{
    float x,y;int t;
    scanf("%f",&x);
    if(x<1000) t=10;
    else t=int(x)/1000;
    switch(t)
    {
    case 0:y=0;break;
    case 1:
    case 2:
    case 3:
    case 4:y=0.02*x;break;
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:y=0.03*x;break;
    case 10:y=0.05*x;break;
    }
    printf("货物价格为%f,税金为%f\n",x,y);
}
运行时,输入整数结果都是对的,但输入实数时就会出错了,为什么啊?
搜索更多相关主题的帖子: 运行 结果 实数 
2009-10-26 22:23
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:7 
t=(int)(x/1000);
收到的鲜花
  • °詠恆┈℡2009-10-27 21:33 送鲜花  2朵   附言:精炼
2009-10-26 22:39
sen_lin
Rank: 6Rank: 6
等 级:侠之大者
威 望:3
帖 子:114
专家分:436
注 册:2009-3-24
收藏
得分:13 
#include<stdio.h>
void main()
{
    float x,y;int t;
    scanf("%f",&x);
    if(x<1000) t=10;
    else t=(int)(x)/1000;
    switch(t)
    {
    case 0:y=0;break;
    case 1:
    case 2:
    case 3:
    case 4:y=0.02*x;break;
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:y=0.03*x;break;
    case 10:y=0.05*x;break;
    }
    printf("货物价格为%f,税金为%f\n",x,y);
}
强制类型转换的错误
收到的鲜花
  • °詠恆┈℡2009-10-27 21:38 送鲜花  3朵   附言:谢谢啊!
2009-10-26 22:41
han19910217
Rank: 2
等 级:论坛游民
帖 子:27
专家分:65
注 册:2009-4-29
收藏
得分:0 
回复 楼主 °詠恆┈℡
ewr
2009-10-26 22:44
°詠恆┈℡
Rank: 1
等 级:新手上路
帖 子:12
专家分:6
注 册:2009-10-9
收藏
得分:0 
回复 2楼 广陵绝唱
谢了,以后知道了!
2009-10-27 21:31
快速回复:帮忙看一下这个程序哪里错了,为什么输入实数时运行的结果总是不对?
数据加载中...
 
   



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

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