问题描述
publicintGetMonthOfQuarter(intmonth){intnum=month%3;if(num==0){return3;}returnnum;}复制代码有更好的算法欢迎各位留言拍砖转载请注明出处
解决方案
解决方案二:
引用楼主sanrenxue的回复:
转载请注明出处C#教程
代码风格真差。还好意思来这里现眼。就这么一个简单的函数,居然都不能把它实现得合格。基本的参数范围验证都没有,计算方法也低效。代码风格也差。看我的:///<summary>///Getmonthsequenceofthequarter.///Notice:validmonthrangeis[1--12]///</summary>///<paramname="month">monthvalue.</param>///<returns>monthsequenceofthequarter</returns>publicintGetMonthSeqOfQuarter(intmonth){if(month<1||month>12){stringmessage=string.Format("Inputparametermonth({0})outofrange[1--12].",month);thrownewArgumentOutOfRangeException("month",message);}intk=(month-1)/3;returnmonth-3*k;}
解决方案三:
楼上的真理
解决方案四:
引用1楼xinyaping的回复:
引用楼主sanrenxue的回复:转载请注明出处C#教程代码风格真差。还好意思来这里现眼。就这么一个简单的函数,居然都不能把它实现得合格。基本的参数范围验证都没有,计算方法也低效。代码风格也差。看我的:C#code///<summary>///Getmonthsequenceofthequarter.///Notice:val……
楼上这位代码测试过吗
解决方案五:
引用3楼的回复:
引用1楼xinyaping的回复:引用楼主sanrenxue的回复:转载请注明出处C#教程代码风格真差。还好意思来这里现眼。就这么一个简单的函数,居然都不能把它实现得合格。基本的参数范围验证都没有,计算方法也低效。代码风格也差。看我的:C#code///<summary>///Getmonthsequenceoft……
我题目看错了,不好意思,看成通过月份返回季度了
解决方案六:
引用4楼的回复:
我题目看错了,不好意思,看成通过月份返回季度了
看错了没关系。通过月份返回季度的帖子在这里,楼主所发的代码依然是一贯的差。我也帮他纠正过来了:C#如何把月份转换成季度
解决方案七:
我一个新人,自认为代码风格比这个要好
解决方案八:
话说,这东西有必要整这么复杂么,一年就12个月,直接在函数写成固定的不就行了
解决方案九:
引用7楼amy19830704的回复:
话说,这东西有必要整这么复杂么,一年就12个月,直接在函数写成固定的不就行了
嗯,查表法,也是以空间换时间的常用作法。
解决方案十:
引用6楼cc627944668的回复:
我一个新人,自认为代码风格比这个要好
贴代码。
解决方案十一:
引用6楼cc627944668的回复:
我一个新人,自认为代码风格比这个要好
贴代码。
解决方案十二:
mark.
解决方案十三:
我算是服了,被这段神一样的代码逼出来了,LZ如此神奇的代码,按照CSDN的一贯风格,应该是有专人苦思冥想一个通宵,然后换一个标题党无比的噱头推荐到主页上去的啊,为什么还没人做呢?快啊,管理员,快啊,快取个“C#实现惊天神奇功能,代码暴强秒杀微软苹果”之类的标题放到主页上去啊!
解决方案十四:
其实只需return(i+2)%3+1即可,前置判断什么的就不重复了在LUA里,有时候由于宿主的限制,无法抛出异常什么的,只能是返回nil(也即Null)表示无效或者异常,那么LUA可以这样做:tTable={1,2,3,1,2,3,1,2,3,1,2,3}returntTable[i]即可。LUA的表默认以1为下标开始,且不存在的元素会返回空。
解决方案十五:
1l很奋
解决方案:
publicintGetMonthOfQuarter(intmonth){intnum=month/3;if(month%3==0){num=num-1;}returnnum+1;}
解决方案:
该回复于2012-10-22 23:13:24被版主删除