sfzyr 发表于 2012-5-2 15:29:33

又是个算法问题,编程最需要的就是有算法,论坛高手多多啊!

梦醒才知原是梦 发表于 2012-5-2 17:10:21

学习中~~~~

sundy1020 发表于 2012-5-2 17:48:45

mccad 发表于 2012-5-2 15:11 static/image/common/back.gif
每次加0.5,再取整

是不是这样? (setq b (fix (+ 0.5 b)))

功夫佬 发表于 2012-5-2 17:50:25

搞一个对话窗口吧

caoyin 发表于 2012-5-2 20:44:48

(defun c:ecn ()
   (setq b (getint "\n请输入三角内开始数字:"))
       (setvar "cmdecho" 0)
(setq TAG T)
   (while (setq a (getpoint "\n请输入基点:"))
(progn
   (setvar "cmdecho" 0)
   (command "polygon" 3 a "c"1.43 "")
   (command "text" "j" "mc" a 2.5 "" b )
(if (setq TAG (not TAG))
       (setq b (1+ b))
   )
    )
   )
   
   )

chg 发表于 2012-5-3 09:40:05

我的程序没有问题啊,我在我机子上运行,可以实现你的要求,不过第一个只有1个1,以后是2 2 3 3 ......,如果要两个1,可以改为一下:
(defun c:ecn ()
(setq b (getint "\n请输入三角内开始数字:"))
      (setvar "cmdecho" 0)
(setq i 0)
(while (setq a (getpoint "\n请输入基点:"))
(progn
(setvar "cmdecho" 0)
(command "polygon" 3 a "c"1.43 "")
(command "text" "j" "mc" a 2.5 "" b "")
(if (= i 1)
(setq i 0b (1+ b))
   
      (setq i 1)
)
    )
   
)

)
曹版的程序和我的是一样的,只不过他的更容易理解,我是用0和1代表T和F。
页: 1 [2]
查看完整版本: 怎么让while自加数字一次隔一次实现?