R语言控制流

#使用三种循环,输出向量1:100中所有数据

for(i in 1:100)
  print(i)
i=1
while (i<=100) {
  print(i)
  i =i+1
}
i=1
repeat{
  if(i<=100)
    print(i)
    i =i+1
  if(i>100)break
}


#while循环求1+2+3+…+100

sum=0;i=1;
while (i<=100) {
  sum=sum+i
  i=i+1
}
print(sum)


#使用repeat循环求1至100之间的奇数和

sum=0;i=1;
repeat{
  if(i%%2!=0)sum =sum+i
  i =i+1
  if(i>100)break
}
print(sum)


#4使用for循环输出1至100之间的能够被3或5整除的数,并求和。

sum =0
for(i in 1:100){
  if(i%%3==0|i%%5==0){
    print(i)
    sum =sum+i
  }
}
print(sum)


#5.编写一个R程序,输入一个整数n,如果n≤0,则终止运算,
并输出一句话:“要求输入一个正整数”;否则,如果n是偶数,
则讲m除2,并赋给n;否则,将3n+1赋给n。不断循环,只到n=1,才停止计算,并输出一句话:“运算成功”。
 

myfuction<- function(n){
  if(n <= 0)
    print("要求输出一个正整数")
  else{
    repeat{
      if(n == 1)break
      else if(n %% 2 == 0){n <- n/2}
      else n <- 3*n + 1
    }
    print("运算成功")
  }
}

运行结果如下:

> #使用三种循环,输出向量1:100中所有数据
> for(i in 1:100)
+   print(i)
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
[1] 21
[1] 22
[1] 23
[1] 24
[1] 25
[1] 26
[1] 27
[1] 28
[1] 29
[1] 30
[1] 31
[1] 32
[1] 33
[1] 34
[1] 35
[1] 36
[1] 37
[1] 38
[1] 39
[1] 40
[1] 41
[1] 42
[1] 43
[1] 44
[1] 45
[1] 46
[1] 47
[1] 48
[1] 49
[1] 50
[1] 51
[1] 52
[1] 53
[1] 54
[1] 55
[1] 56
[1] 57
[1] 58
[1] 59
[1] 60
[1] 61
[1] 62
[1] 63
[1] 64
[1] 65
[1] 66
[1] 67
[1] 68
[1] 69
[1] 70
[1] 71
[1] 72
[1] 73
[1] 74
[1] 75
[1] 76
[1] 77
[1] 78
[1] 79
[1] 80
[1] 81
[1] 82
[1] 83
[1] 84
[1] 85
[1] 86
[1] 87
[1] 88
[1] 89
[1] 90
[1] 91
[1] 92
[1] 93
[1] 94
[1] 95
[1] 96
[1] 97
[1] 98
[1] 99
[1] 100
> i=1
> while (i<=100) {
+   print(i)
+   i =i+1
+ }
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
[1] 21
[1] 22
[1] 23
[1] 24
[1] 25
[1] 26
[1] 27
[1] 28
[1] 29
[1] 30
[1] 31
[1] 32
[1] 33
[1] 34
[1] 35
[1] 36
[1] 37
[1] 38
[1] 39
[1] 40
[1] 41
[1] 42
[1] 43
[1] 44
[1] 45
[1] 46
[1] 47
[1] 48
[1] 49
[1] 50
[1] 51
[1] 52
[1] 53
[1] 54
[1] 55
[1] 56
[1] 57
[1] 58
[1] 59
[1] 60
[1] 61
[1] 62
[1] 63
[1] 64
[1] 65
[1] 66
[1] 67
[1] 68
[1] 69
[1] 70
[1] 71
[1] 72
[1] 73
[1] 74
[1] 75
[1] 76
[1] 77
[1] 78
[1] 79
[1] 80
[1] 81
[1] 82
[1] 83
[1] 84
[1] 85
[1] 86
[1] 87
[1] 88
[1] 89
[1] 90
[1] 91
[1] 92
[1] 93
[1] 94
[1] 95
[1] 96
[1] 97
[1] 98
[1] 99
[1] 100
> i=1
> repeat{
+   if(i<=100)
+     print(i)
+     i =i+1
+   if(i>100)break
+ }
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
[1] 21
[1] 22
[1] 23
[1] 24
[1] 25
[1] 26
[1] 27
[1] 28
[1] 29
[1] 30
[1] 31
[1] 32
[1] 33
[1] 34
[1] 35
[1] 36
[1] 37
[1] 38
[1] 39
[1] 40
[1] 41
[1] 42
[1] 43
[1] 44
[1] 45
[1] 46
[1] 47
[1] 48
[1] 49
[1] 50
[1] 51
[1] 52
[1] 53
[1] 54
[1] 55
[1] 56
[1] 57
[1] 58
[1] 59
[1] 60
[1] 61
[1] 62
[1] 63
[1] 64
[1] 65
[1] 66
[1] 67
[1] 68
[1] 69
[1] 70
[1] 71
[1] 72
[1] 73
[1] 74
[1] 75
[1] 76
[1] 77
[1] 78
[1] 79
[1] 80
[1] 81
[1] 82
[1] 83
[1] 84
[1] 85
[1] 86
[1] 87
[1] 88
[1] 89
[1] 90
[1] 91
[1] 92
[1] 93
[1] 94
[1] 95
[1] 96
[1] 97
[1] 98
[1] 99
[1] 100
> #while循环求1+2+3+…+100
> sum=0;i=1;
> while (i<=100) {
+   sum=sum+i
+   i=i+1
+ }
> print(sum)
[1] 5050
> #使用repeat循环求1至100之间的奇数和
> sum=0;i=1;
> repeat{
+   if(i%%2!=0)sum =sum+i
+   i =i+1
+   if(i>100)break
+ }
> print(sum)
[1] 2500
> #4使用for循环输出1至100之间的能够被3或5整除的数,并求和。 
> sum =0
> for(i in 1:100){
+   if(i%%3==0|i%%5==0){
+     print(i)
+     sum =sum+i
+   }
+ }
[1] 3
[1] 5
[1] 6
[1] 9
[1] 10
[1] 12
[1] 15
[1] 18
[1] 20
[1] 21
[1] 24
[1] 25
[1] 27
[1] 30
[1] 33
[1] 35
[1] 36
[1] 39
[1] 40
[1] 42
[1] 45
[1] 48
[1] 50
[1] 51
[1] 54
[1] 55
[1] 57
[1] 60
[1] 63
[1] 65
[1] 66
[1] 69
[1] 70
[1] 72
[1] 75
[1] 78
[1] 80
[1] 81
[1] 84
[1] 85
[1] 87
[1] 90
[1] 93
[1] 95
[1] 96
[1] 99
[1] 100
> print(sum)
[1] 2418
> #5.编写一个R程序,输入一个整数n,如果n≤0,则终止运算,
> #并输出一句话:“要求输入一个正整数”;否则,如果n是偶数,
> #则讲m除2,并赋给n;否则,将3n+1赋给n。不断循环,只到n=1,才停止计算,并输出一句话:“运算成功”。
> myfuction<- function(n){
+   if(n <= 0)
+     print("要求输出一个正整数")
+   else{
+     repeat{
+       if(n == 1)break
+       else if(n %% 2 == 0){n <- n/2}
+       else n <- 3*n + 1
+     }
+     print("运算成功")
+   }
+ }

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值