📜  R While循环

📅  最后修改于: 2021-01-08 09:37:01             🧑  作者: Mango

R while循环

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))

输出量