在Ruby中将两个负数相互比较时的结果很奇怪

时间:2019-06-27 04:36:39

标签: ruby

我给我的程序一个数字列表,它基本上只是比较数字对,并说哪个是最低数字。

我的程序可以很好地用于正比较正和正比较负。但是,当我比较两个负数时,它表示较高的数字较低。

"9095664 -5510956
-8470019 3783902
3128240 5903450
-6356172 -6704355
-4093648 8682575
-3337078 732175
4680824 -1814813
-7915938 -2898968
-3447925 -2044363
-2669637 4886365
8819066 -2244233
8679845 5731195
6630822 6212931
-9207513 -7362622
-1707980 -9573222
-1055630 -2612316
-5084179 474351
-8828413 8044060
-3622199 -5184585
-8660294 2284153
-6502010 -1997372
-6983671 8178814
6187814 -4899610"

a = new_string.split
counter = 0
new_counter = 1
new_array = []
newer_array = []

for i in 0..22 do
    new_array.push(a[counter])
    counter = counter + 2
end

for q in 0..22 do
    newer_array << a[new_counter]
    new_counter = new_counter + 2
end

for p in 0..22 do
    if new_array[p] < newer_array[p]
        puts new_array[p]

    elsif newer_array[p] < new_array[p]
        puts newer_array[p]
    end
end
-5510956 . 
-8470019 . 
3128240 . 
-6356172 . 
-4093648 . 
-3337078 . 
-1814813 . 
-2898968 . 
-2044363 . 
-2669637 . 
-2244233 . 
5731195 . 
6212931 . 
-7362622 should be -9207513 .      
-1707980 wrong . 
-1055630 wrong . 
-5084179 . 
-8828413 . 
-3622199 . 
-8660294 . 
-1997372 . 
-6983671 . 
-4899610 . 

我并没有把所有错的地方都放进去,但是你明白了。任何带有两个负数的东西都会导致相反的结果。

0 个答案:

没有答案