Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions 01-hello.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# 题目: 输入名字,输出 "Hello, 名字"

print "请输入你的名字,然后按 Enter: "
print "请输入你的\"名字\",然后按 Enter: "
your_name = gets

# ...

puts "(请替换成最后的答案)"
puts "hi,#{your_name}"
5 changes: 4 additions & 1 deletion 02-variable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
puts "b 是 #{b}"

# ...
c = a
a = b
b = c


puts "a 应该是 2,现在是 #{a}"
puts "b 应该是 1,现在是 #{b}"

8 changes: 4 additions & 4 deletions 03-triangle.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# 题目: 使用者输入直角三角形的宽和高,输出三角形的面积

print "请输入直角三角形的高,然后按 Enter: "
a = gets
a = (gets).to_i

print "请输入直角三角形的底边,然后按 Enter: "
b = gets

b = (gets).to_i
c = (a*b)/2
# .....

puts "直角三角形的面积是: _________"
puts "直角三角形的面积是: ___#{c}______"
8 changes: 4 additions & 4 deletions 04-pizzas.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

print "请输入有多少人要吃,然后按 Enter: "
people = gets
#left = pizzas.to_i - (pizzas.to_i / people.to_i)*people.to_i
left = pizzas.to_i % people.to_i

# .....

puts "每人可分得几片: _________ 片"
puts "还剩下几片: _________ 片"
puts "每人可分得几片: #{ pizzas.to_i / people.to_i}片"
puts "还剩下几片: #{left}片"
15 changes: 12 additions & 3 deletions 05-bmi.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,17 @@
print "请输入您的身高(厘米),然后按 Enter: "
height = gets

# .....
bmi = weight.to_f/(height.to_f*height.to_f)

puts "您的 BMI 是: _________"
if bmi>=24.0
result = "过重"
elsif bmi<18.5
result = "过轻"
else
result = "正常"
end

puts "您的 BMI 结果是: _________(过轻或正常或过重)"

puts "您的 BMI 是: #{bmi}"

puts "您的 BMI 结果是: #{result}"
19 changes: 16 additions & 3 deletions 06-interger-positive.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,22 @@


print "请输入一个整数,然后按 Enter: "
x = gets
y = (gets).to_i
puts y
if y == 0
x = "0"
elsif y > 0
x = "正数"
else
x = "负数"
end

if y % 2 == 0
z = "偶数"
else
z = "奇数"
end
# ....

puts "这个数是_____ (正数或零或负数)"
puts "这个数是_____ (偶数或奇数)"
puts "这个数是#{x}"
puts "这个数是#{z} (偶数或奇数)"
24 changes: 19 additions & 5 deletions 07-abcde.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,28 @@
# 当 z < 0 输出 "E"

print "请输入一个整数x,然后按 Enter: "
x = gets
x = (gets).to_i

print "请输入一个整数y,然后按 Enter: "
y = gets
y = (gets).to_i

print "请输入一个整数z,然后按 Enter: "
z = gets
z = (gets).to_i

# ....
if x < 0
result = "A"
elsif x > 0
if y > 0 && z > 0
result = "B"
elsif y >0 && z < 0
result = "C"
elsif y < 0 && z > 0
result = "D"
else
result = "E"
end
else
result = "0"
end

puts "结果是________(A或B或C或D或E)"
puts "结果是#{result}"
36 changes: 31 additions & 5 deletions 08-find-max.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,40 @@
# 题目: 使用者输入 x,y,z,请输出三个数中最大的数

print "请输入一个数字x,然后按 Enter: "
x = gets
x = (gets).to_i

print "请输入一个数字y,然后按 Enter: "
y = gets
y = (gets).to_i

print "请输入一个数字z,然后按 Enter: "
z = gets
z = (gets).to_i

# ....
if x > y
if x > z
result = "x"
elsif x < z
result = "z"
else
result = "x和z 并列最大"
end
elsif x = y
if x > z
result = "x和y 并列最大"
elsif x < z
result = "z"
else
result = "x y z 一样大"
end
else
if x >= z
result = "Y"
elsif y > z
result = "Y"
elsif y < z
result = "z"
else
result = "y和z 并列最大"
end
end

puts "最大的数是 ________(x或y或z)"
puts "最大的数是 #{result} (x或y或z)"
8 changes: 4 additions & 4 deletions 09-function.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# 题目: 输入直角三角形的宽和高,输出三角形的面积

def calculate_area(a, b)
# ....
return (a*b)/2
end

print "请输入直角三角形的高,然后按 Enter: "
a = gets
a = (gets).to_i

print "请输入直角三角形的底边,然后按 Enter: "
b = gets
b = (gets).to_i

answer = calculate_area(a,b)

puts "直角三角形的面积是: #{answer}"
puts "直角三角形的面积是: #{answer}"
35 changes: 31 additions & 4 deletions 10-function.rb
Original file line number Diff line number Diff line change
@@ -1,19 +1,46 @@
# 题目: 使用者输入 x,y,z,请输出三个数中最大的数

def find_max(x, y, z)
if x > y
if x > z
return result = "x"
elsif x < z
return result = "z"
else
return result = "x和z 并列最大"
end
elsif x = y
if x > z
return result = "x和y 并列最大"
elsif x < z
return result = "z"
else
return result = "x y z 一样大"
end
else
if x >= z
return result = "Y"
elsif y > z
return result = "Y"
elsif y < z
return result = "z"
else
result = "y和z 并列最大"
end
end
end

print "请输入一个数字x,然后按 Enter: "
x = gets
x = (gets).to_f

print "请输入一个数字y,然后按 Enter: "
y = gets
y = (gets).to_f

print "请输入一个数字z,然后按 Enter: "
z = gets
z = (gets).to_f

# ....

answer = find_max(x,y,z)

puts "最大的数是 #{answer}"
puts "最大的数是 #{answer}"
7 changes: 4 additions & 3 deletions 11-seven.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
i = 1
while ( i <= 100 )

# ....

if i%7 == 0
puts i
end
i+=1
end
end
6 changes: 4 additions & 2 deletions 12-sum-even.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@

while ( i <= 100 )

# ....
if i % 2 == 0
total += i
end

i+=1
end

puts total
puts total
17 changes: 9 additions & 8 deletions 13-nn.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# 题目: 输入一个数字 N,输出 N * N 乘法表

print "请输入数字 N,然后按 Enter: "
n = gets

# while ( ... )
# while ( ...)
#
# end
# end

n = (gets).to_i
i = 1
while ( i < (n+1) )
# while ( ...)
#
# end
puts "#{n} * #{i} = #{i*n}"
i += 1
end
12 changes: 11 additions & 1 deletion 14-prime.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
# 输入一个数字 N,请检查是不是质数

def is_prime(n)
# ....
i = 2
r = true
while i < n

if n % i == 0
r = false
break
end
i +=1
end
return r
end

print "请输入数字 N,然后按 Enter: "
Expand Down
17 changes: 11 additions & 6 deletions 15-guess-number.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,18 @@
while (true)
print "请猜一个 0~99 的数字 N,然后按 Enter: "
n = gets

#puts "太低了,再猜一次"
#puts "太高了,再猜一次"

if n.to_i == target
if n.to_i < target
puts "低了,再猜一次"
elsif n.to_i > target
puts "太高了,再猜一次"
else
puts "恭喜猜中啦! "
break
end

end
# if n.to_i == target
# puts "恭喜猜中啦! "
# break
# end

end
13 changes: 9 additions & 4 deletions 16-array-sum.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
# 给定一阵列内含数字,输出最大值

def find_max(array)
#....
m = array[0]
array.each do |i|
if m <= i
m = i
end
end
return m
end

arr = [8, 12, 36, 53, 9, 75, 3, 71, 59, 88]
# 直接用max也行。
arr = [8, 12, 36, 93, 9, 75]

max = find_max(arr)
puts "Max is #{max}" # 应该是 88

Loading