c#获得本月份是本季度的第几个月
public int GetMonthOfQuarter(int month){
int num = month % 3;
if (num == 0)
{
return 3;
}
return num;
}
复制代码
有更好的算法欢迎各位留言拍砖 转载请注明出处C#教程 --------------------编程问答--------------------
代码风格真差。还好意思来这里现眼。
就这么一个简单的函数,居然都不能把它实现得合格。基本的参数范围验证都没有,计算方法也低效。代码风格也差。
看我的:
--------------------编程问答-------------------- 楼上的真理 --------------------编程问答--------------------
/// <summary>
/// Get month sequence of the quarter.
/// Notice: valid month range is [1 -- 12]
/// </summary>
/// <param name="month">month value.</param>
/// <returns>month sequence of the quarter</returns>
public int GetMonthSeqOfQuarter(int month)
{
if (month < 1 || month > 12)
{
string message = string.Format("Input parameter month ({0}) out of range[1 -- 12].", month);
throw new ArgumentOutOfRangeException("month", message);
}
int k = (month - 1) / 3;
return month - 3 * k;
}
楼上这位代码测试过吗 --------------------编程问答-------------------- 我题目看错了,不好意思,看成通过月份返回季度了 --------------------编程问答--------------------
看错了没关系。
通过月份返回季度的帖子在这里,楼主所发的代码依然是一贯的差。我也帮他纠正过来了:
C#如何把月份转换成季度
http://topic.csdn.net/u/20120229/10/b90d2437-13df-4532-8c2a-719004b2dfef.html --------------------编程问答-------------------- 我一个新人,自认为代码风格比这个要好 --------------------编程问答-------------------- 话说,这东西有必要整这么复杂么,一年就12个月,直接在函数写成固定的不就行了 --------------------编程问答--------------------
嗯,查表法,也是以空间换时间的常用作法。
--------------------编程问答--------------------
贴代码。
--------------------编程问答--------------------
贴代码。
--------------------编程问答-------------------- 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}
return tTable[i]
即可。LUA的表默认以1为下标开始,且不存在的元素会返回空。 --------------------编程问答-------------------- 1l很奋 --------------------编程问答-------------------- public int GetMonthOfQuarter(int month)
{
int num = month / 3;
if (month % 3 == 0)
{
num = num - 1;
}
return num + 1;
} --------------------编程问答--------------------
补充:.NET技术 , 非技术区