将公元纪年的年份除以10取余数,得到天干编号,除以12取余数,得到地支编号 十大天干、十二地支对应编号.如下:甲乙丙丁戊己庚辛壬癸 4567890123 子丑寅卯辰巳午未申酉戌亥45678910110123 把天干和地支两者组合在一起就是相应年份的干支纪年法表示:如2018年千支纪年法表示便是”戊戌“年 用列表编写程序实现将公元纪年法转换为干支纪年的功能输入2020,输出庚子年
时间: 2023-07-16 09:14:56 浏览: 75
可以使用以下代码实现:
```python
tian_gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
di_zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
year = int(input("请输入公元纪年:"))
tian_gan_index = (year % 10) - 4
if tian_gan_index < 0:
tian_gan_index += 10
di_zhi_index = (year % 12) - 4
if di_zhi_index < 0:
di_zhi_index += 12
print(tian_gan[tian_gan_index] + di_zhi[di_zhi_index] + "年")
```
运行代码,输入2020,输出庚子年。
相关问题
用java写一个输入一个不超过公元9999年份,输出相应的天干地支年份
以下是Java代码:
import java.util.Scanner;
public class TianGanDiZhi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个不超过公元9999年份:");
int year = input.nextInt();
String[] tianGan = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"};
String[] diZhi = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};
int tianGanIndex = (year - 4) % 10;
int diZhiIndex = (year - 4) % 12;
System.out.println(tianGan[tianGanIndex] + diZhi[diZhiIndex] + "年");
}
}
输入一个年份,程序会输出相应的天干地支年份。
天干地支 java_Java实现干支纪年法
干支纪年法是中国传统的纪年方式,用天干和地支表示年份,其中天干有甲、乙、丙、丁、戊、己、庚、辛、壬、癸,地支有子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。干支纪年法是一个60年一个循环的周期系统。
下面是Java实现干支纪年法的示例代码:
```java
import java.util.Scanner;
public class GanZhi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入公历年份:");
int year = input.nextInt();
String[] gan = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"};
String[] zhi = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};
int ganIndex = (year - 4) % 10;
int zhiIndex = (year - 4) % 12;
String ganYear = gan[ganIndex];
String zhiYear = zhi[zhiIndex];
System.out.println(year + "年的天干地支纪年法表示为:" + ganYear + zhiYear);
}
}
```
运行结果:
```
请输入公历年份:2022
2022年的天干地支纪年法表示为:辛丑
```
其中,计算干支的公式为:天干 = (年份 - 4) % 10,地支 = (年份 - 4) % 12。因为干支纪年法是以甲子年为起点,而公元1年不是甲子年,所以需要将公元1年到公元4年排除掉。