在日常生活中,我们常常需要知道自己的星座,而星座查询程序则能帮助我们快速准确地找到答案。下面,我将为你介绍如何用C语言编写一个简单的星座查询程序。
程序设计思路
- 定义星座日期范围:首先,我们需要定义一个星座日期范围的数组,其中包含12个星座的名称和对应的日期范围。
- 用户输入:程序将提示用户输入出生的月份和日期。
- 查询与输出:根据用户输入的日期,程序将判断用户所属的星座,并输出相应的星座名称和日期范围。
代码实现
#include <stdio.h>
int main() {
// 定义星座日期范围
char const *const zodiacs[12][2] = {
{"白羊座", "03/21 - 04/19"},
{"金牛座", "04/20 - 05/20"},
{"双子座", "05/21 - 06/20"},
{"巨蟹座", "06/21 - 07/22"},
{"狮子座", "07/23 - 08/22"},
{"处女座", "08/23 - 09/22"},
{"天秤座", "09/23 - 10/23"},
{"天蝎座", "10/24 - 11/22"},
{"射手座", "11/23 - 12/21"},
{"摩羯座", "12/22 - 01/19"},
{"水瓶座", "01/20 - 02/18"},
{"双鱼座", "02/19 - 03/20"}
};
int month, day;
printf("请输入你的出生月份和日期(例如:10 15):");
scanf("%d %d", &month, &day);
// 查询与输出
for (int i = 0; i < 12; ++i) {
if ((month == 3 && day >= 21) || (month == 4 && day <= 19)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 4 && day >= 20) || (month == 5 && day <= 20)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 5 && day >= 21) || (month == 6 && day <= 20)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 6 && day >= 21) || (month == 7 && day <= 22)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 7 && day >= 23) || (month == 8 && day <= 22)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 8 && day >= 23) || (month == 9 && day <= 22)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 9 && day >= 23) || (month == 10 && day <= 23)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 10 && day >= 24) || (month == 11 && day <= 22)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 11 && day >= 23) || (month == 12 && day <= 21)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 12 && day >= 22) || (month == 1 && day <= 19)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 1 && day >= 20) || (month == 2 && day <= 18)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
} else if ((month == 2 && day >= 19) || (month == 3 && day <= 20)) {
printf("你的星座是:%s,日期范围:%s\n", zodiacs[i][0], zodiacs[i][1]);
break;
}
}
return 0;
}
运行程序
- 将上述代码保存为
zodiac_query.c文件。 - 打开终端或命令提示符,进入保存文件的目录。
- 编译代码:
gcc zodiac_query.c -o zodiac_query。 - 运行程序:
./zodiac_query或zodiac_query(取决于操作系统)。
总结
通过以上步骤,你就可以用C语言编写一个简单的星座查询程序了。当然,这个程序还可以进一步完善,例如添加错误处理、美化界面等。希望这篇文章能帮助你入门C语言编程,并在实际应用中发挥创意。
