1. 编写一个函数,他的入参是一个表示年份的整数,返回值是一个bool值,判断这个年份是否是闰年。
import scala.util.control.Breaks.{break, breakable}
object basic58 {
def main(args: Array[String]): Unit = {
breakable {
while (true) {
print("请输入要判断的年份:")
var year = scala.io.StdIn.readInt()
if (year == 0) {
print("结束循环")
break
}
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
println(s"$year 是闰年")
} else {
println(s"$year 不是闰年")
}
}
}
}
}
2. 编写一个函数,用来求f(100)的值。其中f(n)=1-1/2+1/3-1/4+...1/n
def main(args: Array[String]): Unit = {
var sum:Double = 0
var i = 1
while(i <= 100) {
if (i%2 == 0) {
sum += 1.0/i
}else{
sum -= 1.0/i
}
i += 1
}
println(s"sum=${sum}") //sum=-0.688172179310195
}
3. 编写一个函数,用来求斐波那契数列的前20项。其中f(1)=f(2)=1,f(n)=f(n-1)+f(n-2).
def f(n:Int):Int = {
if(n == 1){
1
}else if(n==2){
1
} else {
f(n-1) + f(n-2)
}
}
def main(args: Array[String]): Unit = {
val rst = f(20)
println(rst) //6765
}
4. 编写一个函数,允许用户输入一个整数年份,如果用户输入的是闰年就停止输入,否则就一直提示用户输入。
import scala.util.control.Breaks.{break, breakable}
object basic61 {
def main(args: Array[String]): Unit = {
breakable{
while(true){
print("请输入要判断的年份:")
var year = scala.io.StdIn.readInt()
if (year == year%400==0 || (year%4==0 && year%100!=0)) {
print("结束循环")
break
}
if(year%400==0 || (year%4==0 && year%100!=0)){
println(s"$year 是闰年")
} else{
println(s"$year 不是闰年")
}
}
}
}
}
5. 对成绩(100,51,55,67,59,89)进行处理,如果分数在56-59之间,就设置为60分,得到的新成绩为(100,51,55,67,60,89)
def main(args: Array[String]): Unit = {
var arr = Array(100,51,55,67,59,89)
var arr1 = arr.map(x => if(x<=59 && x>=56) 60 else x)
arr1.foreach(println)
}