这里有一份可以输出星座、属性、季节的代码,性格可以自己找文字贴上去就行:
#include<stdio.h>
int main()
{
void constellation(int year, int month, int day);
void zodiac(int year);
void season(int month);
int year, month, day;
printf("请输入一个年、月、日(空格隔开):\n");
scanf_s("%d %d %d", &year, &month, &day); /*输入变量*/
constellation(year,month,day);
zodiac(year);
season(month);
return 0;
}
void season(int month)
{
if (month >= 3 && month <= 5)
printf("你出生的季节为春季\n");
else if (month >= 6 && month <= 8)
printf("你出生的季节为夏季\n");
else if (month >= 9 && month <= 11)
printf("你出生的季节为秋季\n");
else if (month >= 11 || month <= 2)
printf("你出生的季节为冬季\n");
}
void zodiac(int year)
{
char p[12][4] = { "鼠","牛","虎","兔","龙","蛇","马","羊","鸡","猴","狗","猪" };
int year0 = 1996; //年是鼠年,作为基准
int n;
n = year - year0;
n = n % 12;
if (n < 0) n += 12; //求余时,n可能是负数,如果是负数则加12
printf("你属%s\n", p[n]);
}
void constellation(int year, int month, int day) //求星座
{
if ((month == 12 && day >= 21) || (month == 1 && day <= 19))
{
printf("你的星座是摩羯座,性格为:\n");
}
else if ((month == 1 && day >= 19) || (month == 2 && day <= 18))
{
printf("你的星座是水瓶座,性格为:\n");
}
else if ((month == 2 && day >= 18) || (month == 3 && day <= 20))
printf("你的星座是双鱼座,性格为:\n");
else if ((month == 3 && day >= 21) || (month == 4 && day <= 19))
printf("你的星座是白羊座,性格为:\n");
else if ((month == 4 && day >= 20) || (month == 5 && day <= 20))
printf("你的星座是金牛座,性格为:\n");
else if ((month == 5 && day >= 21) || (month == 6 && day <= 21))
printf("你的星座是双子座,性格为:\n");
else if ((month == 6 && day >= 22) || (month == 7 && day <= 22))
printf("你的星座是巨蟹座,性格为:\n");
else if ((month == 7 && day >= 23) || (month == 8 && day <= 22))
printf("你的星座是狮子座,性格为:\n");
else if ((month == 8 && day >= 23) || (month == 9 && day <= 22))
printf("你的星座是处女座,性格为:\n");
else if ((month == 9 && day >= 23) || (month == 10 && day <= 23))
printf("你的星座是天秤座,性格为:\n");
else if ((month == 10 && day >= 24) || (month == 11 && day <= 22))
printf("你的星座是天蝎座,性格为:\n");
else
printf("你的星座是射手座,性格为:\n");
}
(1)找一个鼠年的公元纪年作为基准, 然后用输入和这个基准年份做差取绝对值再与 12 取模 作为索引,从属相数组中获得属相.季节和星座只能用两个 switch case 来做了.
(2) 网上去复制一些现成的,保存到字符串数组或者索引文件里,搞数据库也成,然后直接输出
(3)去找KMI的计算公式,然后网上随便扒拉一点下来,和第二个一样,设定不同的范围,匹配上就输出固定内容即可