年历c语言,年历系统c语言

dfnjsfkhak 35 0

大家好,今天小编关注到一个比较意思的话题,就是关于年历c语言问题,于是小编就整理了1个相关介绍年历c语言的解答,让我们一起看看吧。

  1. 如何用C语言编写一个日历?

如何用C语言编写一个日历?

这是一道经典的编程练习题。相信网上有很多解答,下面我就这个问题分享一些使编码简洁的经验。

减少不必要的计算

年历c语言,年历系统c语言-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

有些数值是固定的这部分数值就不要程序实时计算了。给定日期求日数时,不少人喜欢循环做。但这是没有必要的,可以提前做一个数组:

  • int monthdays={31,59,90,120,...};

通过计算避免循环

编码时应尽量避免使用循环计算。为了求出距离公元一年一月一号的日数使用循环是不必要的。可以用算式算出:

年历c语言,年历系统c语言-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)
  • totaldays+=year*365+year/4-year/100+year/400;

使用算式减少逻辑分支

逻辑分支会增加复杂度,影响代码质量,应最小限度使用。可以使用算式代替部分逻辑判断:

  • leap=((year%100!=0)&&(year%4==0))?1:0;
  • leap=((year%100==0)&&(year%400==0))?1:leap;

完整的例子

年历c语言,年历系统c语言-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

以下是求总日数的代码片段:

  • 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点解答对大家有用

标签: year 年历 语言