scala习题练习

41 阅读1分钟

1.提取内容:输入一个正整数 n,输出 斐波那契数列的前 n 项

object l5 {
  def main(args: Array[String]): Unit = {
    print("输入n的值(大于等于3):")
    val n=scala.io.StdIn.readInt()
    var a=1
    var b=1
    println(s"第${1}项是:1")
    println(s"第${2}项是:1")
    for (i<-3 to n){
      val c=a+b
      println(s"第${i}项是:${c}")
      a=b
      b=c
    }

  }
}

2.编写代码打印输出如下图形:

1

22

333

4444

55555


object l7 {
  def main(args: Array[String]): Unit = {
    for(i <- 1 to 5){
      for (j <- 1 to i){
        print(i)
      }
      println()
    }
  }

}

55555

4444

333

22

1

object ReverseNumberPattern {
  def main(args: Array[String]): Unit = {
    
    for (i <- 5 to 1 by -1) {
     
      println(i.toString * i)
    }
  }
}

4.公鸡(鸡翁)1 只,价格 5 钱;

母鸡(鸡母)1 只,价格 3 钱;

小鸡(鸡雏)3 只,价格 1 钱(即 1 钱买 3 只小鸡);

用 100 钱买 100 只鸡,问公鸡、母鸡、小鸡各有多少只?


object l8 {
  def main(args: Array[String]): Unit = {
    for(x<-0 to 20 ){
      for (y <- 0 to 33){
        var z=100-x-y
        if(z%3==0&&5*x + 3*y + z/3 == 100){
          println(x,y,z)
        }
      }
    }
  }
}

5.乘法口诀表


object l9 {
  def main(args: Array[String]): Unit = {
    for (i <- 1 to 9){
      for (j <- 1 to i){
//        print(s"${j}*${i}=${i*j}")
        printf("%d*%d=%-3d",j,i,i*j)
      }
      println()
    }
  }

}