从键盘输入一个公元以后的年份,用switch语句编程,判断该年的生肖 用c语言如何写代码
时间: 2024-09-28 11:04:54 浏览: 19
在 C 语言中,你可以创建一个 switch 语句来判断给定的年份对应的生肖。中国传统的十二生肖循环每12年一轮回。以下是基于公历年份的生肖计算代码示例:
```c
#include <stdio.h>
void get_zodiac(int year) {
const char* const zodiacs[] = {"猴", "鸡", "狗", "猪", "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊"};
// 判断生肖的索引,注意从0开始计数
int index = (year - 1900) % 12;
if (index < 0) { // 如果年份小于1900,先加1200
index += 12;
}
printf("公元%4d年的生肖是:%s\n", year, zodiacs[index]);
}
int main() {
int year;
printf("请输入一个公元以后的年份: ");
scanf("%d", &year);
if (year <= 1900) {
printf("输入错误,年份需要大于1900。\n");
} else {
get_zodiac(year);
}
return 0;
}
```
相关问题
键盘输入一个公元以后的年份,用switch语句编程,判断该年的生肖 用c语言如何写代码(用switch的结构)
在 C 语言中,你可以使用 switch 语句结合对生肖的周期计算来判断给定年份的生肖。中国农历的生肖每十二年轮回一次,从公元纪元开始的第一年(即西元1904年)到今年,可以按照生肖的顺序来确定。以下是简单的代码示例:
```c
#include <stdio.h>
int get_zodiac(int year) {
// 生肖对应列表(从鼠开始)
const char* zodiac[] = {"鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"};
int cycle = 12; // 十二生肖一轮回
// 计算生肖序号
int zodiac_index = (year - 1904) % cycle;
// 使用 switch 语句判断生肖
switch (zodiac_index) {
case 0:
return 1;
case 1:
return 2;
// ... 省略其他11种情况
default:
return cycle + zodiac_index; // 返回生肖序号对应的整数表示,例如:1代表鼠,2代表牛等
}
}
int main() {
int input_year;
printf("请输入一个公元后的年份:");
scanf("%d", &input_year);
if (input_year > 1904) {
int zodiac_num = get_zodiac(input_year);
printf("该年份的生肖为:%s\n", zodiac[zodiac_num - 1]);
} else {
printf("输入的年份应在公元1904年之后。\n");
}
return 0;
}
```
在这个代码中,`get_zodiac` 函数会根据输入的年份返回对应的生肖序号,然后在 `main` 函数里通过 `switch` 判断并输出生肖名称。
已知12生肖的顺序是鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪。公元1年是鸡年,要求输入年份,计算并输出该年的生肖。(用switch语句实现)用c语言写出
我知道了,您的问题是计算某年的生肖。以下是使用switch语句的C语言代码:
```
#include <stdio.h>
int main() {
int year;
printf("请输入您需要计算的年份:");
scanf("%d", &year);
switch ((year - 1) % 12) {
case 0:
printf("%d年是鼠年。", year);
break;
case 1:
printf("%d年是牛年。", year);
break;
case 2:
printf("%d年是虎年。", year);
break;
case 3:
printf("%d年是兔年。", year);
break;
case 4:
printf("%d年是龙年。", year);
break;
case 5:
printf("%d年是蛇年。", year);
break;
case 6:
printf("%d年是马年。", year);
break;
case 7:
printf("%d年是羊年。", year);
break;
case 8:
printf("%d年是猴年。", year);
break;
case 9:
printf("%d年是鸡年。", year);
break;
case 10:
printf("%d年是狗年。", year);
break;
case 11:
printf("%d年是猪年。", year);
break;
default:
printf("输入不合法,请重新输入!");
}
return 0;
}
```
输入所需计算的年份后,程序会计算出该年份对应的生肖并输出。