请各位用codeblocks 16.01版本运行如下代码
codeblocks吧
全部回复
仅看楼主
level 1
/*样例输入2 3运行出来是等于197但实际结果是198(这个结果我是请求其他人用Dev运行出来的结果)我不知道是我的电脑有问题还是IDE的问题所有请求你们运行一下 下面我附上运行图*/
该段代码是计算如222-222-22-2这样格式的算式(样例输入2 3)
#include<stdio.h>
#include<math.h>
int calc(int a,int n);
int main()
{
int a,n,result;
scanf("%d%d",&a,&n);
result=calc(a,n);
printf("%d",result);
return 0;
}
int calc(int a,int n)
{
int val=0,k=-1,cnt=0,num,temp=0,sum=0;
num=n;
while (n)
{
val=a*k*pow(10,cnt)+temp;
temp=val;
sum+=val;
if (cnt==num-2)
{
k=1;
temp*=-1;
}
n--;
cnt++;
}
return sum;
}
2016年04月06日 12点04分 1
level 1
如果你们也是197那说明 这是codeblocks的一个bug
2016年04月06日 12点04分 2
level 1

是16.01版的bug,建议楼主去官方论坛说一下
http://forums.codeblocks.org/
2016年04月08日 02点04分 4
level 1
——我喂自己袋盐
>>Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
2016年04月08日 04点04分 5
链接没用了 求你自己配置的IDE啊
2016年05月15日 04点05分
链接肯定有用,因为贴吧不能直接发链接,所以以图片的形式发出来. 如果你打不开,要不就是网址敲错了,要不就是你所在地区无法打开这个网站.
2016年05月15日 09点05分
@adonais 我一个一个在百度上打的
2016年05月15日 09点05分
@adonais 求啊[泪][泪][泪]
2016年05月15日 10点05分
level 1
网址没错,只能你自己想办法了!!
——我喂自己袋盐
>>Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0
2016年05月18日 14点05分 10
level 1
@play小白菜
不知道你是怎么调试的.
——我喂自己袋盐
>>Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
2016年06月11日 15点06分 11
level 1
@adonais
大神,抱歉!可能我没有说清楚的,我是是看反汇编代码,看不到。不知道你那里能不能看到?
2016年06月13日 18点06分 12
测试了一下,确实不行,打开反汇编那几个窗口后直接导致gdb挂起了. 我测试了如果直接输入disas main可以直接在log面板上显示汇编代码. 并且貌似gdb7.9这些版本是可以的. 不知道是不是debuggergdb插件的bugs,要花点时间去找问题.
2016年06月14日 02点06分
@adonais 好的,感谢大神了。你的版本用起来不错,除了这个问题其他都很帮,启动速度要比官方原版的快多了,我一直都在用你的版本。当然,你能够解决这个问题是最好,不能解决就算了。
2016年06月14日 07点06分
level 1
测试了一下,确实不行,打开反汇编那几个窗口后直接导致gdb挂起了.
我测试了如果直接输入disas main可以直接在log面板上显示汇编代码.
并且貌似gdb7.9这些版本是可以的.
不知道是不是debuggergdb插件的bugs,要花点时间去找问题.
——我喂自己袋盐
>>Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
2016年06月14日 02点06分 13
好的,感谢大神了。你的版本用起来不错,除了这个问题其他都很帮,启动速度要比官方原版的快多了,我一直都在用你的版本。当然,你能够解决这个问题是最好,不能解决就算了。
2016年06月14日 07点06分
level 1
@play小白菜
如果自己编译却没有官方做的好,那就失去了自行编译的意义.
我对wxwidgets使用LTO编译,对cb使用的Os参数,使用的是gcc5.4.1.
文件对比,比官方生成的二进制文件要小得多.
比较详细更改在READ.MD可以看到.
重新更新了编译工具链:
修正了gcc5.4.1交叉编译时的bug.
修正了gdb在cb调用时挂起的问题>
——我喂自己袋盐
>>Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
2016年06月14日 15点06分 14
大神,请问在哪里提供下载了?
2016年06月16日 08点06分
level 1
@adonais
大神,请问你的这个版本在哪里下载了?请提供下载地址。
2016年06月16日 08点06分 15
上面有个地址啊,实在没兴趣多说.贴吧真是个烂地方,什么帖子都删.广告贴倒是可以生存.
2016年06月17日 08点06分
@adonais OK,感谢了!
2016年06月17日 15点06分
@adonais 你怎么不上传到百度共享?那个应该不会删除的。
2016年06月18日 08点06分
level 4
我觉得这个倒也不是什么bug,就是浮点数转整数常见的一个精度丢失罢了。
关键的问题在于val=a*k*pow(10,cnt)+temp;
在第三次计算pow(10,cnt)的时候,本应该得到100,转为整数变为了99.导致了最后结果为197.如果改为下面的写法:就没有问题了。个人感觉在浮点数和整数转为之间应当尤为注意精度丢失问题。
double p = pow(10, cnt);
val = a * k * p + temp;
2016年06月18日 08点06分 17
1