标题:为啥我输入1,4,1000输出999,而输入1,2,1000输出1000
只看楼主
刘学海1
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-10-23
结帖率:50%
已结贴  问题点数:10 回复次数:2 
为啥我输入1,4,1000输出999,而输入1,2,1000输出1000
#include<stdio.h>
void main()
{
float a,c,h,e,C;
int n;
printf("请输入a,e,n");
scanf("%f,%f,%d",&a,&e,&n);
h=(e-a)/n;
for(c=h,C=0;c<=n*h;c=c+h)
{C=C+1;}
printf("%f\n",C);
}
搜索更多相关主题的帖子: 输入 输出 int printf for 
2017-10-29 10:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
    printf("c<=%f\n", n*h);
    for(c=h,C=0; c<=n*h; )
    {
        C=C+1;
        c=c+h;
        printf("C=%f c=%f, ", C,c);
    }
可能是浮点误差问题,这样看的结果:
请输入a,e,n1,4,1000
c<=3.000000
C=998.000000 c=2.997017, C=999.000000 c=3.000017,
请输入a,e,n1,2,1000
c<=1.000000
C=999.000000 c=0.999991, C=1000.000000 c=1.000991,

[此贴子已经被作者于2017-10-29 17:12编辑过]

2017-10-29 17:05
刘学海1
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-10-23
得分:0 
回复 2楼 吹水佬
谢谢兄弟,忘结贴了,非常抱歉啊
2017-11-10 19:30



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




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

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