Middle three digits: Difference between revisions

no edit summary
(→‎C: Add output, remove superfluous initialization)
No edit summary
Line 573:
0: Invalid length 1</pre>
 
=={{header|Julia}}==
<lang julia>function middle(s)
s = string(abs(s))
len = length(s)
assert(len >= 3 && len % 2 == 1, "Number of digits must be odd and >= 3")
mid = ifloor(len/2)
return s[mid:mid+2]
end
passing = [123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345]
failing = [1, 2, -1, -10, 2002, -2002, 0]
for i in [passing,failing]
try
println("Number: $i ", "Answer: ",middle(i))
catch e
println("Number: $i ", "Answer: ",e)
end
end</lang>
<pre>Number: 123 Answer: 123
Number: 12345 Answer: 234
Number: 1234567 Answer: 345
Number: 987654321 Answer: 654
Number: 10001 Answer: 000
Number: -10001 Answer: 000
Number: -123 Answer: 123
Number: -100 Answer: 100
Number: 100 Answer: 100
Number: -12345 Answer: 234
Number: 1 ErrorException("assertion failed: Number of digits must be odd and >= 3")
Number: 2 ErrorException("assertion failed: Number of digits must be odd and >= 3")
Number: -1 ErrorException("assertion failed: Number of digits must be odd and >= 3")
Number: -10 ErrorException("assertion failed: Number of digits must be odd and >= 3")
Number: 2002 ErrorException("assertion failed: Number of digits must be odd and >= 3")
Number: -2002 ErrorException("assertion failed: Number of digits must be odd and >= 3")
Number: 0 ErrorException("assertion failed: Number of digits must be odd and >= 3")</pre>
 
=={{header|Lua}}==