大家好,今天小编关注到一个比较有意思的话题,就是关于年历c语言的问题,于是小编就整理了1个相关介绍年历c语言的解答,让我们一起看看吧。
如何用C语言编写一个日历?
这是一道经典的编程练习题。相信网上有很多解答,下面我就这个问题分享一些使编码简洁的经验。
减少不必要的计算
有些数值是固定的这部分数值就不要写程序实时计算了。给定日期求日数时,不少人喜欢用循环做。但这是没有必要的,可以提前做一个数组:
- int monthdays={31,59,90,120,...};
通过计算避免循环
编码时应尽量避免使用循环计算。为了求出距离公元一年一月一号的日数使用循环是不必要的。可以用算式算出:
(图片来源网络,侵删)
逻辑分支会增加复杂度,影响代码质量,应最小限度使用。可以使用算式代替部分逻辑判断:
- leap=((year%100!=0)&&(year%4==0))?1:0;
- leap=((year%100==0)&&(year%400==0))?1:leap;
完整的例子
(图片来源网络,侵删)
以下是求总日数的代码片段:
- int monthdays={31,59,90,120,...};
- int totaldays=0;
- int leap=0;
- leap=((year%100!=0)&&(year%4==0))?1:0;
- leap=((year%100==0)&&(year%400==0))?1:leap;
- totaldays+=monthdays[month-1];
- totaldays+=leap;
- totaldays+=year*365+year/4-year/100+year/400;
到此,以上就是小编对于年历c语言的问题就介绍到这了,希望介绍关于年历c语言的1点解答对大家有用。
版权声明:本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。