从一个小程序得到的些许启发

最优化的那种       if(year%4==0&&year%100!=0)
				   printf("%d is",year);
			  else
				  (year%400==0)
				   printf("%d is",year);

最繁琐的那种   
 #include<stdio.h>
   int main()
{
  int year,leap;
  printf("enter a year:");
  scanf("%d",&year);
  if(year%4==0)
  {
           if(year%100==0)
		   {
              if(year%400==0)
			  
	             leap=1;
			  
				 else
					 leap=0;
			 
		   }
		   else
			   leap=1;
	  }
	  else
		  leap=0;
	  if(leap=1)
		  printf("%d is",year);
		  else
		  printf("%d is not ",year);
       printf("a leap year.\n");
	   return 0;
  }
这是一个很简单的判断输入的年份是不是闰年的程序,也是我写的第一个if语句嵌套的程序,在这段代码中,用了三个if语句的嵌套,实现了数据的三次筛选,最终得到想要的结果,如果再加一个for循环的内置,就可以实现任意一段年份的闰年判断。这段代码在你们看来或许很简单,没有什么出彩的地方,但是却让我着实得到了一些启发。下面我就把我得到的一些启发写下来。  
一个代码是否好的标准有几样,代码的简洁程度,执行的时间复杂度,而对于结果的打印,也是可以自己去安排。相对编出这段代码的人来说,这些都很重要,这几样指标标志着是否可以让代码更加稳定并且高效的执行,而对于用户来说,页面是否人性化,在运行这个程序之后是否可以得到想要的结果,以及最终的界面是否一目了然,让人感到很舒服。
   就拿这个小代码来说吧,毕竟我的技术有限,还需要不断去积累。首先,看到这个题目的时候,我已经可以想到好几种函数的排列,但是,就我而言,上面的那段代码,是其中最为冗长的,为何呢?因为,同样是判断一个结论,这个代码用了三个if和三个else,实在是啰嗦,于是,想到了优化一下,只要一个if就好,其他的几句用else if代替,但是,还是觉得啰嗦啊,于是想到了一个最为简单的,只要一个if else语句就好了,具体实现就在最上面。用了一个二元运算符,明显减少了很多代码量,因此我觉得一个好的代码,应该可以是不断优化的,使它不断地精简。
对于程序的时间复杂度,我的一点小心得就是,能够尽量在代码中可以找到的优化项目就不要放在程序中去执行了,毕竟我们一开始就已经把不要的数据剔除掉了,那样让计算机去执行的数据就会少很多,比如说,在判断是否是闰年的时候,奇数就可以不用考虑了,那么用一个小小的for循环就可以去除这部分数据,在数据少的时候不会体现出来多大差别,但是如果数据很多,还是可以节省不少时间的,所以我觉得,以后在编码的过程中,应该不断地去思考,怎样才可以让时间复杂度降到最小
关于显示界面,可以使用一些转义字符,空格,必要的时候可以加一些例如* / 等符号使数据更有区分度,当然,如果技术允许的话,完全可以做一个交互界面,那样是最好的,即方便又美观,只可惜目前我的实力有限,还需要吸纳更多的知识去充实自己。
今天就说这么多了,谢谢你们可以看一个小白的成长之旅,晚安。
               
 
 
 
 
 
 
 
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值