1.(1)を2番まで実行した

2.添付した

3.実行結果
表示の方法を数字で選らんでくたさい
勝ち:1 負け:2 引分:3 勝率:4
2
昇順:1 降順:2
1
--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---
クリケッツ               50     83     3     0.376
スネイルズ               52     82     2     0.388
モスキートーズ           65     65     6     0.500
アンツ                   78     53     5     0.595
ブックウォームス         75     52     9     0.591
ドラゴンフライズ         77     51     8     0.602

4.プログラムの説明
まず初めに1番は、読み込んだデータから以下の式で勝率を求め、配列にnを代入した
n =$2.to_f/ ($2.to_f + $3.to_f)

2番はまず初めにopenメソッドで変数名をつけgetsでファイル読み込みだけをさ
せた

次に表示方法を促し、勝ち数、負け数、引き分け数、勝率の昇順を数字で分けx
に数字を入れさせ降順、昇順も同じように入力させた

if文&&を使いでそれぞれの表示方法で表示させるようした


softball2.rb

#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

require 'kconv'

soft = Hash.new

open("softball.txt","r:utf-8") do |read|
 while line =read.gets
   if /(\S+)\s+(\d+)\s+(\d+)\s+(\d+)/ =~ line
    # 1個目の( ) (\S+)→チーム名が入る
    # 2個目の( ) (\d+)→勝ち数が入る
    # 3個目の( ) (\d+)→負け数が入る
    # 4個目の( ) (\d+)→引分数が入る
    n =$2.to_f/ ($2.to_f + $3.to_f)
    soft[$1] = [$2.to_f,$3.to_f,$4,n] # 配列を代入
   end
 end
end

print"表示の方法を数字で選らんでくたさい\n" 
print"勝ち:1 負け:2 引分:3 勝率:4\n"
x = gets.chomp!.to_i

print"昇順:1 降順:2\n"
y = gets.chomp!.to_i

if x == 1 && y == 1

print"--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---\n"

for team in soft.keys.sort{|a, b| soft[b][0] <=> soft[a][0]}

  

  result =  sprintf("%-23s%4d%7d%6d%10.3f\n",
              team.toeuc.force_encoding("binary"),
              soft[team][0], soft[team][1], soft[team][2],
              soft[team][0]/(soft[team][0]+soft[team][1])).toutf8
  puts result

end

elsif x == 1 && y == 2
  
print"--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---\n"
for team in soft.keys.sort{|a, b| soft[a][0] <=> soft[b][0]}

  

  result =  sprintf("%-23s%4d%7d%6d%10.3f\n",
              team.toeuc.force_encoding("binary"),
              soft[team][0], soft[team][1], soft[team][2],
              soft[team][0]/(soft[team][0]+soft[team][1])).toutf8
  puts result


end

elsif x ==2 && y ==1
  
print"--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---\n"
for team in soft.keys.sort{|a, b| soft[b][1] <=> soft[a][1]}

  

  result =  sprintf("%-23s%4d%7d%6d%10.3f\n",
              team.toeuc.force_encoding("binary"),
              soft[team][0], soft[team][1], soft[team][2],
              soft[team][0]/(soft[team][0]+soft[team][1])).toutf8
  puts result


end


elsif x ==2 && y ==2
  
print"--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---\n"
for team in soft.keys.sort{|a, b| soft[a][1] <=> soft[b][1]}

  

  result =  sprintf("%-23s%4d%7d%6d%10.3f\n",
              team.toeuc.force_encoding("binary"),
              soft[team][0], soft[team][1], soft[team][2],
              soft[team][0]/(soft[team][0]+soft[team][1])).toutf8
  puts result


end

elsif x ==3 && y ==1
  
print"--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---\n"
for team in soft.keys.sort{|a, b| soft[b][2] <=> soft[a][2]}

  

  result =  sprintf("%-23s%4d%7d%6d%10.3f\n",
              team.toeuc.force_encoding("binary"),
              soft[team][0], soft[team][1], soft[team][2],
              soft[team][0]/(soft[team][0]+soft[team][1])).toutf8
  puts result


end


elsif x ==3 && y ==2

  
print"--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---\n"
for team in soft.keys.sort{|a, b| soft[a][2] <=> soft[b][2]}
  

  result =  sprintf("%-23s%4d%7d%6d%10.3f\n",
              team.toeuc.force_encoding("binary"),
              soft[team][0], soft[team][1], soft[team][2],
              soft[team][0]/(soft[team][0]+soft[team][1])).toutf8
  puts result


end

elsif x ==4 && y ==1
  
print"--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---\n"
for team in soft.keys.sort{|a, b| soft[b][3] <=> soft[a][3]}
  

  result =  sprintf("%-23s%4d%7d%6d%10.3f\n",
              team.toeuc.force_encoding("binary"),
              soft[team][0], soft[team][1], soft[team][2],
              soft[team][0]/(soft[team][0]+soft[team][1])).toutf8
  puts result


end

elsif x ==4 && y ==2

  
print"--チーム名------------+-勝ち-+-負け-+-引分--+-勝率---\n"
for team in soft.keys.sort{|a, b| soft[a][3] <=> soft[b][3]}
  

  result =  sprintf("%-23s%4d%7d%6d%10.3f\n",
              team.toeuc.force_encoding("binary"),
              soft[team][0], soft[team][1], soft[team][2],
              soft[team][0]/(soft[team][0]+soft[team][1])).toutf8
  puts result


end

end