空心菱形

简介: 空心菱形

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()
      }
  }
}
目录
相关文章
|
6月前
|
编译器 C++ 开发者
C++一分钟之-多重继承与菱形问题
【7月更文挑战第19天】C++的多重继承允许类从多个基类派生,但引入了菱形问题,即类D通过B和C(都继承自A)双重继承A,可能导致数据冗余和二义性。解决这个问题的关键是**虚继承**,通过`virtual`关键字确保基类A只被继承一次,消除冲突。理解并适当使用虚继承是处理这类问题的关键,有助于保持代码的清晰和正确性。
106 0
wustojc5006菱形图案
wustojc5006菱形图案
44 0
复杂的菱形继承及菱形虚拟继承(详解)
复杂的菱形继承及菱形虚拟继承(详解)
77 0
【C++之纯虚函数与抽象类1】圆形、矩形、三角形的面积
【C++之纯虚函数与抽象类1】圆形、矩形、三角形的面积
【C++之纯虚函数与抽象类2】计算圆形、正方形、矩形、梯形和三角形的图形面积,并求和
【C++之纯虚函数与抽象类2】计算圆形、正方形、矩形、梯形和三角形的图形面积,并求和
菱形的组成
假设n为7的菱形 我们可以把它分为两部分 上三角形 下三角形
89 0
菱形的组成
AcWing 727. 菱形
AcWing 727. 菱形
63 0
AcWing 727. 菱形
牛客网——空心正方形图案
牛客网——空心正方形图案
125 0

热门文章

最新文章