T549705 题解

· · 个人记录

题意

给你 4 个六位数,分别判断这四个日期代表的月份属于的季节。

题解

通过阅读题意我们不难发现,对于每一个输入的日期,日期之间相互没有影响,并且判断季节S仅与月份有关,与年份无关。

所以我们只需要关心每个日期的月份。根据题意,对于每一个输入,它的月份为它的后两位。那么获取月份就变成了获取这个六位数的后两位

那么如何获取一个数字的后两位呢?

我们知道一个数字的后两位相当于这个数字除以 100 的余数,即一个数字对 100 取模 (% 100) 的结果。我们通过将一个数字对 100 取模可以取到这个数字的后两位,所以对于每个输入的数字,我们使用一个变量记录这个数字对 100 取模的结果,然后根据题意使用 if 及 else if 判断即可。

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    for(int i = 1;i <= 4;i++)
    {
        cin >> n; //输入 
        int date = n % 100; //取日期的后两位 月份 
        if(date == 0 || date > 12) //判断日期是否合法 
        {
            cout << "error" << endl;
            continue;
        }
        if(date >= 9 && date <= 11) //秋天 
        {
            cout << "autumn" << endl;
        }
        else if(date >= 3 && date <= 5) //春天 
        {
            cout << "spring" << endl;
        }
        else if(date >= 6 && date <= 8) //夏天 
        {
            cout << "summer" << endl;
        }
        else //冬天 
        {
            cout << "winter" << endl;
        }
    }
    return 0;
}