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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# 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 ;
}