标题:跟书上敲的一样,求问题在哪儿
只看楼主
mini2bus
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2016-9-26
结帖率:100%
已结贴  问题点数:20 回复次数:8 
跟书上敲的一样,求问题在哪儿
程序代码:
#include <stdio.h>
double clear(double sum,double value)
{
    int num;
    double newsum;
    
    num=(int)(sum/value);
    if (value>1)
        printf("%f元%d张\n",value,num);
    else
        printf("%f角%d张\n",value*10,num); 
    newsum=sum-value*num;
    return newsum;    
} 
int main(void)
{
    double clear(double sum,double value);
    double sum;
    double money[7]={100,50,10,5,0.5,0.1};
    printf("请输入实发工资总额\n");
    scanf("%f",&sum);
    for (int i=0;i<=5;i++)
    {
        sum=clear(sum,money[i]);
    }
}

2016-09-28 15:48
mini2bus
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2016-9-26
得分:0 
2016-09-28 15:52
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:5 
double 输入输出是lf,
float 输入输出是f
2016-09-28 16:05
jierbote
Rank: 1
等 级:新手上路
帖 子:15
专家分:5
注 册:2016-9-27
得分:5 
用double一般的输出输入都%lf
你在试一下
2016-09-28 16:09
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:4 
scanf("%f",&sum);改为scanf("%lf",&sum);
2016-09-28 16:10
mini2bus
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2016-9-26
得分:0 
谢谢你回的那么快,
我哪本书问题也不少啊。
可是改过之后我又发现一个问题:
#include <stdio.h>
double clear(double sum,double value)
{
    int num;
    double newsum;
   
    num=(int)(sum/value);
    if (value>1)
        printf("%lf元%d张\n",value,num);
    else
        printf("%f角%d张\n",value*10,num);
    newsum=sum-value*num;
    return newsum;   
}
int main(void)
{
    double clear(double sum,double value);
    double sum;
    double money[6]={100,50,10,5,0.5,0.1};
    printf("请输入实发工资总额\n");
    scanf("%lf",&sum);
    for (int i=0;i<=5;i++)
    {
        sum=clear(sum,money[i]);
    }
}
2016-09-28 16:23
mini2bus
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2016-9-26
得分:0 
少了1角,是数据处理的问题吗。
再次谢谢你的回复
2016-09-28 16:24
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:6 
回复 7楼 mini2bus
这是由于浮点数本来就不精确的缘故造成的。
最后的0.1比如它是0.0998。用它除以0.1得到的结果是0。
2016-09-28 16:48
chenchen224
Rank: 4
等 级:业余侠客
威 望:1
帖 子:61
专家分:237
注 册:2016-8-11
得分:0 
厉害啊,我都试了一下,学习到了。谢谢

我想做的,只是静静的把C学好,从此代码是爱人......
2016-09-28 22:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469292-1-1.html




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

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