1)建立数组 a[2]存储月,日,从合理性角度分析
创新互联公司服务项目包括凤凰网站建设、凤凰网站制作、凤凰网页制作以及凤凰网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,凤凰网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到凤凰省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
月a[0]∈[1,12],a[1]也就是日期根据a[0]决定,a[0]是2,4,6,9,11情况下,a[1]不能是31.
a[0]是2的情况下,a[1]不能超过29.如果输入29要减去1(为了后面的日期差计算星座做基础)
2)第一个函数int sum_day (int* a),把刚才输入作为形参传入,按照一定公式计算N月M日是这年的第K天,然后返回这个日期。
3)因为每个星座之隔都是30天(2月按照28来看)。把这个天数,假设是返回的k,那么分类讨论,
第一种,k19,那么直接知道是摩羯
第二种 switch ((k-19)/30) {
case 0:水瓶
case 1:双鱼
........
1)建立两个数组 a[2];b[2]分别存储第一人的月,日,第二人的月,日,从合理性角度分析
月a[0]∈[1,12],a[1]也就是日期根据a[0]决定,a[0]是1,3,5,7,8,12情况下,a[1]不能是31.
a[0]是2的情况下,a[1]不能超过29.如果输入29要减去1(为了后面的日期差计算星座做基础)
2)第一个函数int sum_day (int* a),把刚才输入作为形参传入,按照一定公式计算N月M日是这年的第K天,然后返回这个日期。
3)因为每个星座之隔都是30天(2月按照28来看)。把这个天数,假设是返回的k,那么分类讨论,
第一种,k19,那么直接知道是摩羯
第二种 switch ((k-19)/30) {
case 0:水瓶
case 1:双鱼
........
4)匹配的规则,我们已经知道双方的星座了,至于是否合得来用一个二维数组来存放情况
int c[12][12];横坐标的0~11分别表示水瓶~摩羯,纵坐标也是一个道理。比如
a[0][0]就是水瓶配水瓶,c[11][11]就是摩羯配摩羯。如果c[0][0]是存放1,则表示水瓶配水瓶是合适的,如果是0则表示不合适,1还是0由编程人员设置。
3)输出,(k-19)/30就是下标,例如c [(k1-19)/30][,(k2-19)/30],那么这将表示这个坐标的数据,1
表示合适,0表示不合适,k是表示这一年的第k天。
用if else实现会比较好!因为星座日期是一个时间段啊!而switch语句是符合某个值的!
建立一个枚举
星座 //enum xingzuo{}
在{}里写入12个星座的名字
建立一个类
建一个类的数组
分别存入12个星座的信息
在类里放入星座的
开始日期 int kaiShi //如:0220
结束日期 int jieShu // 0321
……
//其他的特征
代码:
先判断输入的日期是那个属于那个星座
然后打印出类里的信息就行了
你可以自己去实现下
锻炼下自己
日期的格式你可以
从0101到1231
int riQi
如输入0228
就代表2月28号
用if语句 if(riQi=kaiShiriQi=jieShu)