Files
python/TangDou/JiangShuShengSai/JS5.cpp
HuangHai 1f397eca87 'commit'
2025-08-30 18:35:01 +08:00

187 lines
3.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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;
}