| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1189 人关注过本帖
标题:刚学C想问个问题
取消只看楼主 加入收藏
bredleaf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-7-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
刚学C想问个问题
#include <stdio.h>
#include <math.h>

int main(void)
{
    double a=0.0,
        b=0.0,
        c=0.0;
    int    d=0,
        e=0;
    printf("输入你一个星期的薪水为");
    scanf("%lf",&a);
    printf("\n工作时数为");
    scanf("%lf",&b);
    c=a/b,d=c,e=(c-d)*100;
    printf("你每小时获得金钱为%d元,%d分。",d,e);
    return 0;
}
把c=a/b,d=c,e=(c-d)*100;
改成c=a/b,d=floor(c),e=(c-d)*100;时 结果会比原来小1分
比如薪水为145 时数为50时,没改前是2元90分 改后会变成2元89分。哪位大虾能解惑下
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
不管怎样,先多谢各位啦

[ 本帖最后由 bredleaf 于 2013-7-27 23:55 编辑 ]
搜索更多相关主题的帖子: include double return 
2013-07-27 16:15
bredleaf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-7-19
收藏
得分:0 
回复 2楼 cddazao
我知道向下取整啊  但跟后面少1分有什么关系??
2013-07-27 17:48
bredleaf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-7-19
收藏
得分:0 
回复 3楼 小小程序猿
那也只是计算时把d转成double类型  计算后再转成int类型啊  而且按我给的数据145 50 计算得c=2.9 那么d=2 e=90.不用取近似值啊
2013-07-27 17:55
bredleaf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-7-19
收藏
得分:0 
回复 5楼 XiaoXiao_Ren
我这里没用floor时是2元90分的,试了你给的代码的确得出差了1
2013-07-27 18:05
bredleaf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-7-19
收藏
得分:0 
不管怎样还是多谢各位了
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-07-27 23:54
快速回复:刚学C想问个问题
数据加载中...
 
   



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

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