c - 是否有一种算法可以找到一周中的某一天(周日、周一等)?
问题描述
是否有一种算法可以找到带有日期(日和月,无年份)的一周中的某一天(星期日、星期一等),而仅使用一年中的开始日(1.1 将是:星期日、星期一.. .)?
解决方案
算法是:
- 制作一个函数
int sumDaysOfMyDate( int date[2] );
,其中包含一个数组,int daysInMonth[12] = {31, 28, 31...};
用于计算到给定日期的天数总和。(我认为日期存储在 2 个整数的数组中:一个代表当天,一个代表月份) - 取 sum 的模 7 并将其用作数组的索引
char *days[7] = {"Saturday", "Sunday", "Monday"...};
。就是这样。
帮助您形象化
printf("%s\n", days[sumDaysOfMyDate(date)%7]);
所有这一切都假设 1 月 1 日是星期日,正如我从你问题的这一部分中猜到的那样:“1.1 将是:星期日,星期一......)”;假设二月有 28 天。
推荐阅读
- unity3d - Unity Rendering Pass Before Refraction 未显示
- android - JSONArray 到 Kotling Array/List 和 Spinner 中的设置值
- python - Pandas 选项在课堂上不起作用
- flutter - 使用继承的小部件将数据传递到多个屏幕
- javascript - 用于获取私有文件的 AWS S3 签名 URL
- java - Hazelcast IMap 中的序列化
- css - 当页面大于 100vh 时如何使用 React Page Scroller
- database - MongoDb:将模型字段从字符串数组修改为引用另一个模型的 id 数组的最佳方法是什么?
- wso2 - WSO2 多实例问题 2.60 和 5.7.0(APIM,IS)
- azure - 可用性测试生成的警报未触发