1.While
题目
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,计算给定的 n 个整数中所有的非负数之和,具体要求如下:
接收给定的一行整数(例:4 56 5 -10 10,其中第一个数代表 n,其余数代表具体值);
计算除第一个数之外的所有非负整数之和。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例:
测试输入:
4 56 5 -10 10
预期输出:
71
代码
import scala.io.StdIn
object WhileDemo {
def main(args: Array[String]): Unit = {
// 请在 Begin-End 间编写代码
/********** Begin **********/
// 计算给定的 n 个整数中所有的非负数之和
var n =StdIn.readInt()
var i=0
var s=0
while(i<n){
var num=StdIn.readLine()
if (!(num.startsWith("-"))){
var num1=num.toInt
s=s+num1
}
i=i+1
}
println(s)
/********** End **********/
}
}
2.do-While
题目
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,统计给定的 n 个整数中正数和负数分别有多少个,具体要求如下:
接收给定的多行数据(例:4 \n 56 \n 5 \n -10 \n 10,其中第一个数代表 n,其余数代表具体值,\n 仅用来说明前一个数与另一个数之间是换行,实际数据中并没有);
统计正数和负数的个数(注意第一个数无需统计)。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例:
测试输入:
4
56
5
-10
10
预期输出:
正数个数:3
负数个数:1
代码
import scala.io.StdIn
object WhileDemo {
def main(args: Array[String]): Unit = {
// 定义变量 positive,并赋初值0,用于统计正数个数
var positive: Int =0
// 定义变量 negative,并赋初值0,用于统计负数个数
var negative: Int =0
// 定义变量 i,用于统计循环次数
var i: Int =0;
// 读取控制台输入的整数值
var n: Int =StdIn.readInt()
// 在do后的花括号中编写循环语句,统计正数个数和负数个数
do{
// 请在 Begin-End 间编写代码
/********** Begin **********/
val x= StdIn.readInt()
if(x>0){
positive+=1
}
else if (x<0){
negative+=1
}
i+=1
}
// 在while后判断终止条件
while (i<n)
// 输出结果
println("正数个数:"+positive)
println("负数个数:"+negative)
/********** End **********/
}
}
3.for
题目
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,输出所有的水仙花数。
水仙花数的特征:
该值处于 100(包括)到 999(包括)之间;
其个位数的三次幂,十位数的三次幂,百位数的三次幂的和等于这个数本身。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例:
测试输入:
无
预期输出:
407是一个水仙花数
代码
object ForDemo {
def main(args: Array[String]): Unit = {
// 请在 Begin-End 间编写代码
/********** Begin **********/
// 使用 for 循环输出所有的水仙花数
for (num <- 100 to 999) {
val a = num / 100
val b = num % 100 / 10
val c = num % 100 % 10
if (a*a*a+b*b*b+c*c*c == num) {
println(num.toString()+"是一个水仙花数")
}
}
/********** End **********/
}
}
(本代码转自https://blog.csdn.net/weixin_44033192/article/details/106758405)