楼主: 羊乖乖
1992 4

[问答] 请问这个程序哪里不对 为什么提示说 意外的 if? [推广有奖]

  • 1关注
  • 1粉丝

已卖:1份资源

本科生

38%

还不是VIP/贵宾

-

威望
0
论坛币
189 个
通用积分
2.7900
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
5462 点
帖子
48
精华
0
在线时间
96 小时
注册时间
2015-8-24
最后登录
2020-9-28

楼主
羊乖乖 发表于 2015-9-18 10:44:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
要求是这样的 编写一个函数

使得 输入一个整数n,如果n>=0,则终止运算,并输出一句话:“请输入一个正整数”;

否则,如果n是偶数,则将n除2,并赋给n;

否则,将3n+1赋给n。不断循环,直到n=1,才停止计算,并输出一句话:“运算成功”。

写的R程序是:

Er=function(n){

if (n<=0)  list("请输入一个正整数!")

else{ repeat{ if (n==1) break if (n%%2==0) n=n/2 else n=3*n+1 } list("计算成功") } }

请各位帮忙看下 哪里错了。。谢谢啦。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:function 一句话 正整数 UNC Fun 正整数 程序

沙发
jinkelazzz 发表于 2015-9-18 10:57:35
> Er<-function(n)
+ {
+   if (n<=0)
+     print("请输入一个正整数!")  else
+     {
+       repeat
+     { if (n==1) break;
+           if (n%%2==0)
+             n<-n/2 else
+               n<-3*n+1 }
+       print("计算成功")
+     }
+ }
> Er(-20)
[1] "请输入一个正整数!"
> Er(13889)
[1] "计算成功"


养成良好的书写习惯。。。虽然我的也不怎么良好
已有 2 人评分经验 热心指数 收起 理由
李会超 + 20 热心帮助其他会员
求证1加1 + 1 热心帮助其他会员

总评分: 经验 + 20  热心指数 + 1   查看全部评分

藤椅
羊乖乖 发表于 2015-9-18 11:17:18
jinkelazzz 发表于 2015-9-18 10:57
> Er
太感谢了。。是因为break后面少了一个分号吗 为什么加上分号还是不对 还是一定要像这样分行写 才行啊?

板凳
jinkelazzz 发表于 2015-9-18 11:22:18
羊乖乖 发表于 2015-9-18 11:17
太感谢了。。是因为break后面少了一个分号吗 为什么加上分号还是不对 还是一定要像这样分行写 才行啊?
要分行。R是分行读的

报纸
羊乖乖 发表于 2015-9-28 16:34:27
jinkelazzz 发表于 2015-9-18 11:22
要分行。R是分行读的
感谢你的回复 谢谢。。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 23:25