7-14 h0080. 菱形 (10 分)
输入一个奇数n,输出一个由‘*’构成的n阶空心菱形。
输入格式:
一个奇数n。
输出格式:
输出一个由‘*’构成的n阶实心菱形。
具体格式参照输出样例。
输入样例:
5
输出样例:
1. * 2. * * 3. * * 4. * * 5. *
import scala.io.StdIn object Main{ def main(args: Array[String]): Unit = { //打印空心菱形: 空心正三角形+空心倒三角形 = 空心菱形 var n : Int = StdIn.readInt() //空心正三角形 // 6 ==12 // 5 7 ==12 // 4 8 ==12 // 3 9 ==12 // 2 10 ==12 //1 11==12 // 2 10 ==12 // 3 9 ==12 // 4 8 ==12 // 5 7 ==12 // 6 ==12 //每一个数字代表每个*号在所在行的列号 //由于菱形是对称的,所以先考虑上半部分 //通过观察上半部分为6行11列 //左半部分第1行为6、第2行为5、..............、第6行为1;由此可知外循环应使用for(i <- 6 to (1,-1)) //用i代表行号,j代表列号;当i=j或者j=12-i时该位置的应输出*号,其他位置输出空格。 for (i <- n / 2 + 1 to (1 ,-1)) { for (j <- 1 to n) { if (i == j || j == n + 1 -i) { print("*") } else { print(" ") } } println() } //倒三角形 for (i <- 2 to n / 2 + 1) { for (j <- 1 to n) { if (i == j || j == n + 1 -i) { print("*") } else print(" ") } println() } } }