There are a few problems.

* Your input loop will never exit.  On EOF STDIN.gets will return nil
and then you call nil.to_f which is 0.0, which is a true value.

* Your output needs new lines.

Consider

----
input = []
while a = STDIN.gets
  input << a.to_f
end

average = input.inject(0) {|m,x| m = m+x} / input.size
count = input.count {|x| x > average}

print "Average = #{average}\n"
print "Number of elements greater than Avg = #{count}\n"
----

On 3/27/06, Craig Schweitzer <cschweitzer / cfl.rr.com> wrote:
> Would this work to find the mean average and the number of elements
> greater than the average?
>
>
>
> # Calculating Avg and # of elements greater than Avg. in Ruby
>
> sum = 0.0
> n = 0
> count = 0
>
> while figure = STDIN.gets.to_f
>     sum += figure
>     n += 1
> end
>
> average = sum / n
> puts "Average = #{average}"
>
> while figure = STDIN.gets.to_f
>      if figure > average
>           count +=1
>      end
> end
>
> puts "Number of elements greater than Avg = #{count}"
>
> --
> Posted via http://www.ruby-forum.com/.
>
>