A37133. 节气
填空题
困难
知识点
题目描述
节气
题目描述
夏至将⾄。《中国天⽂年历》显示,北京时间6⽉21⽇,也就是明天,夏⾄伴随着接天莲叶的碧,和映⽇荷花的红,即将盛装登场。夏⾄是中国“二十四节气”的第十个节气,“二十四节气”被列⼊联合国教科⽂组织⼈类⾮物质⽂化遗产名录。在国际气象界,这⼀已有千年历史的时间认知体系被誉为“中国第五大发明”。春⾬惊春清⾕天,夏满芒夏暑相连。秋处露秋寒霜降,冬雪雪冬小大寒。二十四节气,在四季轮回流淌,每个节⽓都有它较为稳定的日子。下表给出了农历庚⼦年(公历2020年1⽉ 25⽇~2021年2⽉11⽇)中,二十四个节气的名称,公历具体日期及汉语拼⾳的缩写。

输入描述
整数M,N(2≤M≤12,1≤N≤31),M,N分别代表公历2020年的某⽉,某⽇。所给出的数据均为合法⽇期。
输出描述如果当天恰好是⼀个节⽓,输出这个节⽓的汉语拼⾳缩写,如当天不是节⽓则输出下⼀个节⽓的汉语拼⾳缩写。
样例输入
7 4
样例输出
XS
提示说明
样例输出1 说明:7⽉4⽇之后的7⽉6⽇,是⼩暑,汉语拼⾳缩写是“XS”。
参考答案
#include<iostream>//调用输入输出流头文件
#include<string>//调用字符串头文件
using namespace std;
int x,y,month[24]={1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12},day[24]={5,20,4,19,5,20,4,19,5,20,5,21,6,22,7,22,7,22,8,23,7,22,7,21};//定义整数类型变量x,y,数组month和day
string jq[24]={"XH","DH","LC","YS","JZ","CF","QM","GY","LX","XM","MZ","XZ","XS","DS","LQ","CS","BL","QF","HL","SJ","LD","XX","DX","DZ"};//定义数组jq,包含24个字符串
int main()//主函数开始
{
cin>>x>>y;//输入x,y的值
for (int i=0;i<24;i++)//for循环,计数器i从0自增到23,共循环24次
if (month[i]==x&&day[i]==y)//如果x,y与相应的数组元素相匹配
{
cout<<jq[i];//输出jq的i号元素
return 0;//主函数结束,返回0
}
for (int i=0;i<24;i++)//for循环,计数器i从0自增到23,共循环24次
{
if (x==12&&y>day[23])//如果x等于12并且y大于day的23号元素,即十二月份时(特殊处理)
{
cout<<jq[0];//输出jq的0号元素
return 0;//主函数结束,返回0
}
else if (x>month[i]) continue;//当x大于month的i号元素,即时间没到时,跳出循环
else if ((x==month[i]&&y<day[i])||(x<month[i]))//当x与month的i号元素相等且y小于day的i号元素或x小于month的i号元素时
{
cout<<jq[i];//输出jq的i号元素,查找成功
return 0;//主函数结束,返回0
}
}
return 0;//主函数结束,返回0(此语句可省,但在各类作业平台提交时一般需要保留)
}
上一题
下一题