You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

187 lines
3.3 KiB

2 years ago
#include<bits/stdc++.h>
using namespace std;
//定义一个节气的结构体,它有四个属性
struct JieQi {
int Month; //月份
int Day; //日期
string Name; //描述,也可以认为是节气的名称
string PinYin; //拼音,也称简拼
};
int main() {
//定义以节气结构体为向量数组的变量vec
vector<JieQi> vec;
//可变长度的数组
// []--->[1]--->[1,2]--->[1,2,3]
JieQi a;
a.Name = "立春";
a.PinYin = "LC";
a.Month = 2;
a.Day = 4;
vec.push_back(a);
a.Name = "雨水";
a.PinYin = "YS";
a.Month = 2;
a.Day = 19;
vec.push_back(a);
a.Name = "惊蛰";
a.PinYin = "JZ";
a.Month = 3;
a.Day = 5;
vec.push_back(a);
a.Name = "春分";
a.PinYin = "CF";
a.Month = 3;
a.Day = 20;
vec.push_back(a);
a.Name = "清明";
a.PinYin = "QM";
a.Month = 4;
a.Day = 4;
vec.push_back(a);
a.Name = "谷雨";
a.PinYin = "GY";
a.Month = 4;
a.Day = 19;
vec.push_back(a);
a.Name = "立夏";
a.PinYin = "LX";
a.Month = 5;
a.Day = 5;
vec.push_back(a);
a.Name = "小满";
a.PinYin = "XM";
a.Month = 5;
a.Day = 20;
vec.push_back(a);
a.Name = "芒种";
a.PinYin = "MZ";
a.Month = 6;
a.Day = 5;
vec.push_back(a);
a.Name = "夏至";
a.PinYin = "XZ";
a.Month = 6;
a.Day = 21;
vec.push_back(a);
a.Name = "小暑";
a.PinYin = "XS";
a.Month = 7;
a.Day = 6;
vec.push_back(a);
a.Name = "大暑";
a.PinYin = "DS";
a.Month = 7;
a.Day = 22;
vec.push_back(a);
a.Name = "立秋";
a.PinYin = "LQ";
a.Month = 8;
a.Day = 7;
vec.push_back(a);
a.Name = "处暑";
a.PinYin = "CS";
a.Month = 8;
a.Day = 22;
vec.push_back(a);
a.Name = "白露";
a.PinYin = "BL";
a.Month = 9;
a.Day = 7;
vec.push_back(a);
a.Name = "秋分";
a.PinYin = "QF";
a.Month = 9;
a.Day = 22;
vec.push_back(a);
a.Name = "寒露";
a.PinYin = "HL";
a.Month = 10;
a.Day = 8;
vec.push_back(a);
a.Name = "霜降";
a.PinYin = "SJ";
a.Month = 10;
a.Day = 23;
vec.push_back(a);
a.Name = "立冬";
a.PinYin = "LD";
a.Month = 11;
a.Day = 7;
vec.push_back(a);
a.Name = "小雪";
a.PinYin = "XX";
a.Month = 11;
a.Day = 22;
vec.push_back(a);
a.Name = "大雪";
a.PinYin = "DX";
a.Month = 12;
a.Day = 7;
vec.push_back(a);
a.Name = "冬至";
a.PinYin = "DZ";
a.Month = 12;
a.Day = 21;
vec.push_back(a);
//需要对小寒和大寒进行特殊处理
a.Name = "小寒";
a.PinYin = "XH";
a.Month = 1+12;
a.Day = 5;
vec.push_back(a);
a.Name = "大寒";
a.PinYin = "DH";
a.Month = 1+12;
a.Day = 20;
vec.push_back(a);
//用户输入
int M = 0;
int N = 0;
cin >> M;
cin >> N;
//测试用例:
//M----7
//N----4
//输出XS --->小暑
//7.4--->7.6 ---->7.4---》这是本年度第几天? (7-1)*30+4
//7.4--->8.1
//输出一下
for (int i = 0; i < vec.size(); i++) {
if ((vec[i].Month-1)*30+vec[i].Day>=(M-1)*30+N){
cout<<vec[i].PinYin<<endl;
break;
}
}
return 0;
}