我是初学者,我必须用SML编写一个函数。
作业问题是:
编写一个名为
what_month
的函数,该函数将一天的数量(例如,257,假设一年365天)作为输入,并返回当天所属的月份数。示例:
what_month(40)
应该返回2
(二月)。
答案 0 :(得分:0)
这样做的一种方法是创建一个每月有多少天的清单。
这样的列表看起来像这样
days_in_month = [31, 28, 31, 30, ...]
然后,您可以根据每个月的天数轻松倒计入您的输入数字。当您到达的数字小于下个月的天数时,输入的数字必须属于您已达到的月份。
请注意,这并不是闰年的原因。但是,如果需要的话,那也不应该很难融入其中。
答案 1 :(得分:0)
对于简单的情况(不考虑闰年),您可以定义以月为单位的天数列表months_days
,以及递归辅助函数aux
,其中{{1} }} {}} {}} {}} {}小于int
,但列表的第一个sum
元素会添加到int list
或更多。
numbers