天干地支
题目
思路分析
1.我们首先定义两个二维数组,将天干和地支分别录入,或者建立两个指针录入天干地支
2.选取一个年份作为基准,在这里选择的是2020年庚子年
3.此时输入的年份便被分为三个部分:小于2020年,2020年,大于2020年
4.小于2020年部分减去2020后得到一个负数,我们需要将它转为整数,那应该使用while语句进行加的循环,那应该加什么数呢,由题目我们可以得到,60为一个轮回,也就是说,经过60他对应的天干和地支是不变的,那我们就加上60、
5.最后输出结果时,因为我们以2020年为基准,所以需要加上天干[6]
代码
#include<stdio.h> int main() { char tiangan[10][10]={"jia","yi","bing","ding","wu","ji","geng","xin","ren","gui"}; char dizhi[12][10]={"zi","chou","yin","mao","chen","si","wu","wei","shen","you","xu","hai"}; int n; scanf("%d",&n); n-=2020;//以2020年为基准 while(n<0) { n+=60;//60年为轮回 } printf("%s%s\n",tiangan[(n+6)%10],dizhi[(n+0)%12]);//因为2020年为庚子年 return 0; }
运行结果
标签:60,10,天干地支,天干,蓝桥,2020,例题 From: https://www.cnblogs.com/hcrzhi/p/17371507.html