
第一题:编写一个函数,它的入参是一个表示年份的整数,返回值是一个bool值,判断这个年份是否为闰年
object 练习01 {
def main(args: Array[String]): Unit = {
val year:Int = scala.io.StdIn.readInt()
var result:Boolean= (year % 4 == 0 && year%100!=0) ||(year%400==0)
if(result){
println(s"$year 是闰年")
}
else{
println(s"$year 不是闰年")
}
}
}
结果

第二题:编写一个函数,用来求f(100)的值。其中f(n)=1-1/2+1/3-1/4....1/n
object 练习02 {
def main(args: Array[String]): Unit = {
var sum:Double = 0
var i = 1
while (i<=100) {
if (i % 2 == 1) {
sum = sum + 1.0 / i
} else {
sum = sum - 1.0 / i
}
i += 1
}
println(s"sum=${sum}")
}
}
结果

第三题:编写一个函数,用来求斐波那契数列的前20项。其中f(1)=f(2)=1,f(n)=f(n-1)+f(n-2)
object 练习03 {
def f(n: Double): Double = {
if (n == 1 || n == 2) {
1
}
else {
f(n - 1) + f(n - 2)
}
}
def main(args: Array[String]): Unit = {
for (i <- 1 to 20){
println(f(i)+"")
}
}
}
结果

第四题:编写一个函数,允许用户输入一个整数年份,如果用户输入的是闰年就停止输入,否则就一直提示用户输入
object 练习04 {
import scala.io.StdIn
def isLeapYear(year: Int): Boolean = {
(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
}
def main(args: Array[String]): Unit = {
var year = 0
do {
print("请输入年份:")
year = StdIn.readInt()
} while (!isLeapYear(year))
println(s"您输入的闰年是:$year")
}
}
结果

第五题:对成绩(100,51,55,67,59,89)进行处理,如果分数在56-59之间,就设置为60分,得到的新成绩为(100,51,55,67,60,89)
object 练习05 {
def main(args: Array[String]): Unit = {
val yuanshuju = Array(100, 51, 55, 67, 59, 89)
val chulihou = yuanshuju.map { score =>
if (score >= 56 && score <= 59) 60 else score
}
println(s"原始成绩:${yuanshuju.mkString("(", ", ", ")")}")
println(s"处理后成绩:${chulihou.mkString("(", ", ", ")")}")
}
}
结果
