枫林在线>>程序设计>>讨论区 [快速回复] [上一主题] [下一主题] Algorithm/(算法)
[235627] 主题: 通过生日判断星座的函数
作者: Numino 标题: 通过生日判断星座的函数
昵称: Numino(普天同庆) 来自: 192.168.*.*
经验值: 25991 发贴时间: 2004年06月18日 17:44:47 (UTC +08:00)
等级: 登峰造极 长度: 1347字
int Aquarius=121;
int Pisces=220;
int Aries=321;
int Taurus=421;
int Gemini=522;
int Cancer=622;
int Leo=723;
int Virgo=824;
int Libra=924;
int Scorpio=1024;
int Sagittarius=1123;
int Capricorn=1222;
char *Constellation;
Constellation="摩羯";
int GetConstellation(int month,int date)
{
 int birth;
 birth=100*month+date;
 if(birth>=Aquarius)
     	Constellation="水瓶";
 else
 	return;
 if(birth>=Pisces)
     	Constellation="双鱼";
 else
 	return;
 if(birth>=Aries)
     	Constellation="白羊";
 else
 	return;
 if(birth>=Taurus)
     	Constellation="金牛";
 else
 	return;
 if(birth>=Gemini)
     	Constellation="双子";
 else
 	return;
 if(birth>=Cancer)
     	Constellation="巨蟹";
 else
 	return;
 if(birth>=Leo)
     	Constellation="狮子";
 else
 	return;
 if(birth>=Virgo)
     	Constellation="处女";
 else
 	return;
 if(birth>=Libra)
     	Constellation="天秤";
 else
 	return;
 if(birth>=Scorpio)
     	Constellation="天蝎";
 else
 	return;
 if(birth>=Sagittarius)
     	Constellation="射手";
 else
 	return;
 if(birth>=Capricorn)
     	Constellation="摩羯";
 else
 	return; 
}
PS:以上代码没有在任何编译器上通过,也不符合C的规则,只是表达了一个思路


~~~~~~~~~~~~~~~~~~~~
不是我想要做什么,而是病人需要我做什么

 
校内用户请点击,偶在线时才打得开^_^     

~~~~~~~~~~~~~~~~~~~~
 
--
※作者已于 2004-07-10 09:41:43 修改本文※

========== * * * * * ==========
作者: little 标题: Re: 通过生日判断星座的函数
昵称: 渺小 来自: 192.168.*.*
经验值: 7563 发贴时间: 2004年06月18日 20:11:19 (UTC +08:00)
等级: 精于此道 长度: 53字
其实可以每次判断为是的就直接return,那样更便于理解。

========== * * * * * ==========
作者: Numino 标题: Re: 通过生日判断星座的函数
昵称: Numino(普天同庆) 来自: 192.168.*.*
经验值: 26136 发贴时间: 2004年06月18日 20:37:09 (UTC +08:00)
等级: 登峰造极 长度: 228字
如果是12.31生日那么每一个if都是true

~~~~~~~~~~~~~~~~~~~~
不是我想要做什么,而是病人需要我做什么

 
校内用户请点击,偶在线时才打得开^_^     

~~~~~~~~~~~~~~~~~~~~
 
--
※作者已于 2004-07-10 09:42:16 修改本文※

========== * * * * * ==========
作者: little 标题: Re: 通过生日判断星座的函数
昵称: 渺小 来自: 192.168.*.*
经验值: 7627 发贴时间: 2004年06月19日 00:03:19 (UTC +08:00)
等级: 精于此道 长度: 59字
这个要看怎么编的了,其实和论坛经验值显示级别差不多的方法。

========== * * * * * ==========
作者: blogger 标题: Re: 通过生日判断星座的函数
昵称: 雪夜独行 来自: 210.22.*.*
经验值: 280 发贴时间: 2004年07月10日 14:01:50 (UTC +08:00)
等级: 白手起家 长度: 547字
#楼主的思路不错:把生日看做一个30/31进制的数,处理其来概念非常简单,而且不需要算
生日在一年中的天数,也避免了润年的计算,很有创意。
#考虑到12/31的问题,可以做个优化,具体实现如下(在python2.3.2下测试通过):

def get_constellation(month, date):
    dates = (21, 20, 21, 21, 22, 22, 23, 24, 24, 24, 23, 22)
    constellations = ("摩羯", "水瓶", "双鱼", "白羊", "金牛", "双子", "巨蟹", "
狮子", "处女", "天秤", "天蝎", "射手", "摩羯")
    if date < dates:
    	return constellations
    else:
    	return constellations

print get_constellation(2, 27)
========== * * * * * ==========
每页条 |◀ ◀ 第/2页 ▶|
Top

| 用户注册 | 密码重置 | 在线用户 | 常见问题 |

Copyright © 2001-2025 枫林在线(www.FengLin.info) All Rights Reserved
时间显示基于用户时区设置:Asia/Shanghai (UTC +08:00)
页面运行使用41.42毫秒