【每天例题】蓝桥杯 C语言 天干地支
天干地支
题目


思路分析
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;
}
运行结果


浙公网安备 33010602011771号