
rt 题目4,有会的学霸能教一教吗。根据题目上这些要求,我实在是写不出来了
这里有一份可以输出星座、属性、季节的代码,性格可以自己找文字贴上去就行:
#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");
}