📅  最后修改于: 2021-01-08 09:37:01             🧑  作者: Mango
While循环是一种控制流语句,用于多次迭代代码块。当布尔表达式的值为false时,while循环终止。
在while循环中,首先将检查条件,然后在语句主体执行之后。在此语句中,将检查条件n + 1次,而不是n次。
while循环的基本语法如下:
while (test_expression) {
statement
}
流程图
范例1:
v <- c("Hello","while loop","example")
cnt <- 2
while (cnt < 7) {
print(v)
cnt = cnt + 1
}}
输出量
示例2:查找数字位数的程序。
n<-readline(prompt="please enter any integer value: ")
please enter any integer value: 12367906
n <- as.integer(n)
sum<-0
while(n!=0){
sum=sum+(n%%10)
n=as.integer(n/10)
}
cat("sum of the digits of the numbers is=",sum)
输出量
示例3:检查数字的程序是否为回文式。
n <- readline(prompt="Enter a four digit number please: ")
n <- as.integer(n)
num<-n
rev<-0
while(n!=0){
rem<-n%%10
rev<-rem+(rev*10)
n<-as.integer(n/10)
}
print(rev)
if(rev==num){
cat(num,"is a palindrome num")
}else{
cat(num,"is not a palindrome number")
}
输出量
示例4:检查号码的程序是否为Armstrong。
num = as.integer(readline(prompt="Enter a number: "))
sum = 0
temp = num
while(temp > 0) {
digit = temp %% 10
sum = sum + (digit ^ 3)
temp = floor(temp / 10)
}
if(num == sum) {
print(paste(num, "is an Armstrong number"))
} else {
print(paste(num, "is not an Armstrong number"))
}
输出量
例5:在数字中查找数字频率的程序。
num = as.integer(readline(prompt="Enter a number: "))
digit = as.integer(readline(prompt="Enter digit: "))
n=num
count = 0
while(num > 0) {
if(num%%10==digit){
count=count+1
}
num=as.integer(num/10)
}
print(paste("The frequency of",digit,"in",n,"is=",count))
输出量