干支是天干和地支的总称。
把干支顺序相配正好六十为一周,周而复始,循环记录,这就是俗称的"干支表"。
甲、乙、丙、丁、戊、己、庚、辛、壬、癸 等十个符号叫天干;
子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥 等十二个符号叫地支。
所谓的干支纪年就是把一个年份用一个天干和一个地支组合来表示;
相应的也有干支纪月 干支纪日 干支纪时;
而 干支纪 年 月 日 时 就组成了生辰八字;
生辰八字,简称八字,是指一个人出生时的干支历日期;
年月日时共四柱干支,每柱两字,合共八个字。
生辰八字在中国民俗信仰中占有重要地位,
古代中国道家、星相家据此推算人的命运的好坏。
五行 指的是 金 木 水 火 土
对应关系如下:
天干地支的五行属性表
天干:
甲 - 木、乙 - 木、丙 - 火、丁-火、戊-土、己-土、庚-金、辛-金、
壬-水、癸-水
地支:
子 - 水、丑 - 土、寅 - 木、卯-木、辰-土、巳-火、午-火、未-土、
申-金、酉-金、戌-土、亥-水
五行纳音命理对照表
以上是关于生辰八字五行及年干支本命纳音的简单介绍,下面是代码运行情况及代码:
查询结果如下图:
2019-4-8 修改:
增加 对输入数据的判断,“错误“–重新进入程序,正确 继续查询
增加 0”退出,or 任意键 继续查询
修改如下:
增加了以下代码段1:(判断输入是否正确)
if(month>12||month<1||date<1||date>31||time>2400)
{printf("\t您的输入错误,重新进入程序\n\n");main();}
else
{
增加了以下代码段2::(实现重复查询,直到主动选择退出)
printf("\t请选择0:退出 or 任意键继续查询\n\n\t");
getchar();
if(getchar()=='0')
{printf("————————感谢使用 生辰八字五行查询 小程序————————\n\n");
printf("\t\t\t再见!\n");return 0; }
else {printf("\n\n");main(); }
}
另外,调整了输入输出的格式,更方便查看。
以下是相关程序的代码:
/*输入出生年月日时,返回生辰八字五行*/
#include<stdio.h>
#include<string.h>
char *tiang[]={"癸","甲","乙","丙&