美好日子2021.12.2

据说2021年12月2日是一个美好日子,因为这是一个完全对称日!这里认为一个美好日子是一个共8位数字的完全对称日(例如20211202),其中年份占4位,月份、日份都是2位。对于给定的年份,请判断该年是否存在美好日子。

输入格式:
首先输入一个正整数T(<8000)表示测试数据的组数,然后输入T组测试数据。对于每组测试数据,输入一个年份y(2020<y<10000)。

输出格式:
对于每组测试数据,输出一行。若年份y存在美好日子,则输出该日期,否则输出“none”。引号不必输出。

输入样例:
2
2021
2022
输出样例:
20211202
none
PS:
2021年12月2日,顺利接娃放学,晚饭获中评。谨以此题纪念这个美好日子。

代码

#include<stdio.h>

int main()

{

    int T,i;

    int year, m, d;

    scanf("%d", &T);//获取年数

 

    for(i=0;i<T;i++)

    { 

        scanf("%d", &year);

        m = year % 10 * 10 + year / 10 % 10; //取出月

        d = year / 100 % 10 * 10 + year / 1000;//取出日

        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)//为闰年

        {

            if (m == 1 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 1 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 2 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 2 && d > 10 && d <= 29)

                printf("%d0%d%d", year, m, d);

            else if (m == 3 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 3 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 4 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 4 && d > 10 && d <= 30)

                printf("%d0%d%d", year, m, d);

            else if (m == 5 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 5 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 6 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 6 && d > 10 && d <= 30)

                printf("%d0%d%d", year, m, d);

            else if (m == 7 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 7 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 8 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 8 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 9 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 9 && d > 10 && d <= 30)

                printf("%d0%d%d", year, m, d);

            else if (m == 10 && d > 0 && d <= 9)

                printf("%d%d0%d", year, m, d);

            else if (m == 10 && d > 10 && d <= 31)

                printf("%d%d%d", year, m, d);

            else if (m == 11 && d > 0 && d <= 9)

                printf("%d%d0%d", year, m, d);

            else if (m == 11 && d > 10 && d <= 30)

                printf("%d%d%d", year, m, d);

            else if (m == 12 && d > 0 && d <= 9)

                printf("%d%d0%d", year, m, d);

            else if (m == 12 && d > 10 && d <= 31)

                printf("%d%d%d", year, m, d);

            else

                printf("none");

        }

        else //平年

        {

            if (m == 1 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 1 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 2 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 2 && d > 10 && d <= 28)

                printf("%d0%d%d", year, m, d);

            else if (m == 3 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 3 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 4 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 4 && d > 10 && d <= 30)

                printf("%d0%d%d", year, m, d);

            else if (m == 5 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 5 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 6 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 6 && d > 10 && d <= 30)

                printf("%d0%d%d", year, m, d);

            else if (m == 7 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 7 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 8 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 8 && d > 10 && d <= 31)

                printf("%d0%d%d", year, m, d);

            else if (m == 9 && d > 0 && d <= 9)

                printf("%d0%d0%d", year, m, d);

            else if (m == 9 && d > 10 && d <= 30)

                printf("%d0%d%d", year, m, d);

            else if (m == 10 && d > 0 && d <= 9)

                printf("%d%d0%d", year, m, d);

            else if (m == 10 && d > 10 && d <= 31)

                printf("%d%d%d", year, m, d);

            else if (m == 11 && d > 0 && d <= 9)

                printf("%d%d0%d", year, m, d);

            else if (m == 11 && d > 10 && d <= 30)

                printf("%d%d%d", year, m, d);

            else if (m == 12 && d > 0 && d <= 9)

                printf("%d%d0%d", year, m, d);

            else if (m == 12 && d > 10 && d <= 31)

    

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值