yjr111 发表于 2011-8-25 01:31:28

这个问题一直困扰着我,请求帮助。

这是一个求任意个数的算术平均值,最后想得到的输出结果是:1、输入了几个数?2、输入了哪些数?3、平均值多少?下面的程序已经解决了第一和第三两个问题,就是不知道第二个问题该用什么函数做?请高手指点一二,不胜感激!以下是程序:
(defun c:pjz()
      (setq n1 (getreal "\n please input number1:"))
       (setq s n1)
         (setq i 1)
   (while n1
   (setq n2 (getreal "\n please input next number:"))
   (setq s(+ s n2))
   (setq i(+ i 1))
   (setq pjz (/ s i))
   (print "\n")
   (print (strcat "共" (rtos i 2 0) "个数"))
   (print (strcat "平均值为" (rtos pjz 2 2)))
   )
)      

ljpnb 发表于 2011-8-25 06:43:19


(defun c:pjz ()
(vl-load-com)
(setq n1 (getreal "\n please input number1:"))
(setq s n1)
(setq        i   1
        key T
        lst (list n1)
)
(while (and n1 key)
    (if        (setq n2 (getreal "\n please input next number:"))
      (progn
        (setq s (+ s n2))
        (setq i (1+ i))
        (setq pjz (/ s i))
        (setq lst (reverse(append (list n2) (reverse lst))))
        (setq str
             (read
               (vl-string-translate "( )" "\"+\"" (vl-princ-to-string lst))
             )
        )
        (print (strcat "共" (rtos i 2 0) "个数,"))
        (princ (strcat "平均值为:" (rtos pjz 2 2)))
        (print (strcat "输入了:" str))
      )
      (setq key nil)
    )
)
(princ)
)

yjr111 发表于 2011-8-25 09:29:49

非常感谢ljpnb 的热心帮助!拓宽了我的思路,谢谢!

kids 发表于 2011-8-25 09:34:35

恩 确实不错 顶

vexation 发表于 2011-8-25 15:39:49

学习学习..

zhuangxu_521 发表于 2011-8-29 19:54:19

不错挺好用的

zml84 发表于 2011-11-11 14:38:20

本帖最后由 zml84 于 2011-11-11 14:40 编辑

;;; 这是一个求任意个数的算术平均值,
;;; 最后想得到的输出结果是:1、输入了几个数?2、输入了哪些数?3、平均值多少?
;;; zml84 修改于 2011-11-11 14:25
(vl-load-com)
(defun c:pjz (/ lst)
;;第一步,输入数据
(while (setq n (getreal "\n请输入数值: "))
    (setq lst (cons n lst))
    )
    ;;第二步,处理数据
    (setq i   (length lst)
          sum (apply '+ lst)
          a   (/ sum i)
    )
    ;;第三步,输出结果
    (alert (princ (strcat "\n数据个数 = "
                        (itoa i)
                        "\n平均值为 = "
                        (rtos a 2 2)
                        "\n数据列表 = "
                        (vl-prin1-to-string lst)
                  )
         )
    )
(princ)
)
页: [1]
查看完整版本: 这个问题一直困扰着我,请求帮助。