找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

求教e4a程序闪退原因

查看数: 440 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2026-5-30 16:28

正文摘要:

本帖最后由 风158 于 2026-5-30 16:32 编辑 编了一个计算年积日的e4a程序,编译通过后在手机上运行却闪退。不知道什么原因。附上程序代码: 事件 主窗口.按下某键(键代码 为 整数型,传址 屏蔽 为 逻辑型) &nb ...

回复

ID:343102 发表于 2026-5-31 09:40
joyb 发表于 2026-5-31 08:28
年积日(Day of Year, DOY)计算

年积日是一种在一年之内连续计数的日期方法,从每年的1月1日开始计算, ...

谢谢回复。
问题找到了,判断时只用一个条件,编译后在手机上才能运行。两个就不行。
ID:1064915 发表于 2026-5-31 08:28
年积日(Day of Year, DOY)计算

年积日是一种在一年之内连续计数的日期方法,从每年的1月1日开始计算,1月1日是第1天,1月2日是第2天,以此类推,直到年底。年积日在各种需要按日计算的应用中非常有用。

年积日的计算程序如下:
计算每个月的天数:

创建一个包含每个月天数的数组:days_in_month = [31 28 31 30 31 30 31 31 30 31 30 31]。

判断是否为闰年:

如果年份能被4整除且不能被100整除,或者能被400整除,则该年为闰年,2月有29天。

如果是闰年,则将days_in_month数组中2月的天数改为29。

计算年积日:

使用公式:yearday = sum(days_in_month(1:(month - 1))) + day。

其中,sum函数表示求和,days_in_month(1:(month - 1))表示从1月到前一个月的天数之和。

示例:假设要计算2023年10月5日的年积日,则:

year = 2023,month = 10,day = 5。
判断2023年是否为闰年:mod(2023, 4) ~= 0,所以不是闰年。
days_in_month = [31 28 31 30 31 30 31 31 30 31 30 31](因为不是闰年,所以2月仍然是28天)。
yearday = sum(days_in_month(1:9)) + 5 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 5 = 277。
因此,2023年10月5日的年积日是277。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表