| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1622 人关注过本帖
标题:有一道经济题目,需要精确到小数点后两位,求高手
只看楼主 加入收藏
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
有一道经济题目,需要精确到小数点后两位,求高手
#include<stdio.h>
int main()
{
    int Aa,Ab,Ac,Ba,Bb,Bc,Ca,Cb,Cc,Da,Db,Dc,Ea,Eb,Ec,Fa,Fb,Fc,Gc,Gd,Ge,H,I,J,K,L;
    Gc=1;
    J=1;
    printf("请输入第%d天早、中、晚的数额(中间以“,”隔开):",Gc);
    scanf("%d,%d,%d",&Aa,&Ab,&Ac);
    Gd=Aa+Ab+Ac;
    printf("第%d天消费额度为:%d\n",Gc,Gd);
    Gc++;
    printf("请输入第%d天早、中、晚的数额(中间以“,”隔开):",Gc);
    scanf("%d,%d,%d",&Ba,&Bb,&Bc);
    Gd=Ba+Bb+Bc;
    printf("第%d天消费额度为:%d\n",Gc,Gd);
    Gc++;
    printf("请输入第%d天早、中、晚的数额(中间以“,”隔开):",Gc);
    scanf("%d,%d,%d",&Ca,&Cb,&Cc);
    Gd=Ca+Cb+Cc;
    printf("第%d天消费额度为:%d\n",Gc,Gd);
    Gc++;
    printf("请输入第%d天早、中、晚的数额(中间以“,”隔开):",Gc);
    scanf("%d,%d,%d",&Da,&Db,&Dc);
    Gd=Da+Db+Dc;
    printf("第%d天消费额度为:%d\n",Gc,Gd);
    Gc++;
    printf("请输入第%d天早、中、晚的数额(中间以“,”隔开):",Gc);
    scanf("%d,%d,%d",&Ea,&Eb,&Ec);
    Gd=Ea+Eb+Ec;
    printf("第%d天消费额度为:%d\n",Gc,Gd);
    Gc++;
    printf("请输入第%d天早、中、晚的数额(中间以“,”隔开):",Gc);
    scanf("%d,%d,%d",&Fa,&Fb,&Fc);
    Gd=Fa+Fb+Fc;
    printf("第%d天消费额度为:%d\n",Gc,Gd);
    Ge=Aa+Ab+Ac+Ba+Bb+Bc+Ca+Cb+Cc+Da+Db+Dc+Ea+Eb+Ec+Fa+Fb+Fc;
    printf("总消费额度为:%d\n",Ge);
    printf("有多少人吃饭?请输入:");
    scanf("%d",&H);
    I=Ge/H;
    printf("计算结果为:%d人平均消费%d元\n",H,I);
    printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
    printf("下面将要计算非集体进餐时单次平均消费数额\n");
    printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
    while (J!=0){
        printf("请输入非集体消费金额:");
        scanf("%d",&J);
        printf("请输入非集体消费人数:");
        scanf("%d",&K);
        L=J/K;
        printf("%d人平均消费%d元\n",K,L);
    }
    printf("运算结束,谢谢使用~~By:胜峰  QQ:872551969");
//    return(0);
}
已经写出完整程序,只是写程序时写成了整数输出,现需要精确数值到小数点后两位,求指导
搜索更多相关主题的帖子: include 小数点 
2012-08-18 15:34
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:20 
首先你这样应该发C语言版

要小数就用浮点数 float double 都可以 double最大能到小数点后的十几位 足够了
2012-08-18 15:38
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:0 
回复 2楼 zklhp
那我应该怎样修改呢?

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-08-18 15:41
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
需要用到小数的部分改成float或double呗 浮点数比较 输入输出的时候的时候要注意 运算基本差不多 具体你看看书罢
2012-08-18 15:44
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:0 
回复 4楼 zklhp
谢谢。

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-08-18 15:46
houbincarson
Rank: 2
等 级:论坛游民
帖 子:24
专家分:45
注 册:2011-5-17
收藏
得分:0 
需要用到小数的部分改成float或double,输出格式改为
printf("%8.2f\r\n",3.14159); 输出为: □ □ □ □ 3 . 1 4 输出宽度为8位,精确到小数点后2位
printf("%8.5f\r\n",3.14159); 输出为: □ 3 . 1 4 1 5 9     输出宽度为8位,精确到小数点后5位


2012-08-19 00:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:0 
不如将所有数值提高一百倍,从而使用整型运算
2012-08-20 08:10
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:0 
回复 6楼 houbincarson
这个固然是好啊,可是最后还需要计算的

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-08-20 19:03
会分手的空气
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:26
专家分:32
注 册:2012-3-30
收藏
得分:0 
小数属于浮点型的,你用整形怎么可能有小数输出,你自己看书上关于实型的那知识点吧
2012-08-20 19:17
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
我的建议和 rjsp 一样,还是用 int 好一些。因为用浮点会涉及一些舍入的问题。
比如实际上是三分之一的元,显示出来就会变成  0.33 元。三人加起来是1元,但从输出上看却是三个 0.33,加起来就会缺 1分 钱。这种舍入如果随处可见的话,查账的时候会不平。

换句话说,内部表示用什么方法其实倒无所谓。非技术人员不会探究你是如果实现的,但如果外表看起来有严重的逻辑错误,就是 bug。
还比如一般习惯上输出金额还得用统一的格式,比如 ¥1,234.56 。所以输出也需要费心控制。

正是由于金额这种东西有这些特殊性,有些编程语言里会提供专门的类、或者库,来做这些繁琐的工作。
2012-08-20 22:17
快速回复:有一道经济题目,需要精确到小数点后两位,求高手
数据加载中...
 
   



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

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