写一个奇数的方案程序和 [英] Write a Scheme procedure sum of the odd number

查看:16
本文介绍了写一个奇数的方案程序和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

编写一个Scheme过程,该过程接受列表并返回列表中奇数的和。 例如,(sumodd‘(1(2()6)3(5)2))返回9

以下是我的代码

(define (sumodd ls)
(cond ((null? ls) 0)
      ((list? (car ls)) (sumodd (car ls)))
      ((= (modulo (car ls) 2) 1)) (+ (car ls) (sumodd (cdr ls)))
      (else (sumodd (cdr ls)))))

我尽了最大努力,但没有得到正确的答案。

推荐答案

在第二学期中,您将检查列表的car是否为列表。例如。((5) 3 1)。当您仅对列表(5)求和时,(3 1)会发生什么情况?逻辑不应该是将carcdrsumodd结果相加吗?

这篇关于写一个奇数的方案程序和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆