为什么输出没有100?
c语言吧
全部回复
仅看楼主
level 11
来个大神看下,为什么这个输出会漏掉100[不高兴][不高兴]
2018年03月09日 10点03分 1
level 8
输出结果是啥
2018年03月09日 10点03分 2
10和1000
2018年03月09日 10点03分
下面放图了[泪]
2018年03月09日 10点03分
level 11
2018年03月09日 10点03分 3
@王植尉 把i变大了 输出就是10 1000 100000,没有100 也没10000
2018年03月09日 10点03分
@王植尉
2018年03月09日 10点03分
level 8
那就对了
2018年03月09日 10点03分 4
level 8
你不觉得10也可以吗
2018年03月09日 10点03分 5
level 8
能进第一个if的只能是10的倍数,你把10带进去算算,i=10,n=1,10的1次方还是10,所以i=a,所以10就输出来了
2018年03月09日 10点03分 6
那为什么没100啊[乖]
2018年03月09日 11点03分
level 8
其实这个也很好看,最后那个a=10^n,还要判断i是不是等于a,所以就看1000以内10的n次方哪个是就行了,应该就三个数吧,分别是n=1,2,3时
2018年03月09日 11点03分 7
n=2时100=10^2,但是没输出啊[泪]
2018年03月09日 11点03分
@打打打打打劫º 值得深思,你调试过了么?
2018年03月09日 11点03分
回复 王植尉😿 :调了。试了很多,没有100,没有10000
2018年03月09日 11点03分
回复 王植尉😿 :但是写成pow(10,2)就可以
2018年03月09日 11点03分
吧务
level 13
我用的VC6,运行结果没问题
2018年03月09日 11点03分 9
[不高兴][不高兴]**,为什么我C-free就不行
2018年03月09日 11点03分
level 9
没问题
2018年03月09日 11点03分 11
[喷][喷]难道我用的假C-free?你看下面图
2018年03月09日 11点03分
level 11
2018年03月09日 11点03分 12
楼主把pow旁边的挂号去了看看
2018年03月09日 11点03分
回复 💦Devi :去了,那个是刚刚自己百度四舍五入取整的时候加的,还是没100[不高兴]
2018年03月09日 11点03分
level 9
把i<=1000改为i<=100调试一下看a的值
2018年03月09日 12点03分 13
[泪]只有10,按8楼说的用ceil(x)这个函数向上取整,能输出100
2018年03月09日 12点03分
我真的用了假的C-FREE吗。。。。C-FREE 5.0
2018年03月09日 12点03分
level 15
推断是gcc把pow(10,2)算成了99.999999。
fabs(i-a)≤1e-6试试
2018年03月09日 12点03分 14
[乖]fabs(i-a)≤1e-6 这个是啥意思,怎么用
2018年03月09日 12点03分
还有,请问一下为什么把pow(10,n)改成pow(10,2)就能输出100了[钱]
2018年03月09日 12点03分
@打打打打打劫º 意思是这两个之差的绝对值小于等于某个很小的数,需要math.h
2018年03月09日 12点03分
@打打打打打劫º 你输出的100.000000未必是100,说不定就是99.999999999
2018年03月09日 12点03分
level 11
2018年03月09日 12点03分 15
level 3
虽然看起来怪怪的。但是明显有一个问题你自己没发现,这段代码,用到了两次for循环和两次if的判定语句,但是在第二次使用for循环的的时候表达式你中n<100;而不是n<i
2018年03月09日 13点03分 17
试过了,还是没100啊,现在就四舍五入去整才能解决问题[不高兴][不高兴][不高兴]
2018年03月09日 13点03分
level 4
devc++ 没毛病啊;估计是编译器问题
2018年03月09日 13点03分 18
好的谢谢,在那搞了半天[乖][乖][乖]
2018年03月09日 13点03分
1 2 尾页