zoukankan      html  css  js  c++  java
  • 4.29. 平年闰年,大小月练习

    Console.Write

     

           int y = Convert.ToInt32(Console.ReadLine());

     

                bool isok = false;       

        int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30;

                int sum = 0;                 

    if (y >= 0 && y <= 9999)

                {

                                  

    if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)              {

                        isok = true;

                    }

                    else

                    {

                        isok = false;

                    }

     

                                  Console.Write("请输入月份(1-12):");

                    int m = Convert.ToInt32(Console.ReadLine());

     

                        if (m >= 1 && m <= 12)

                    {

                                           Console.Write("请输入日期(1-31):");

                        int d = Convert.ToInt32(Console.ReadLine());

     

                        //判断日期是否正确,先看用户输入的月份是大月还是小月,先排除2月

                        //1.大,3.大,5.大,7.大,8.大,10.大,12.大

                        //4.小,6.小,9.小,11.小

                        //2.特殊

     

                        //1.31,2,28/29,3.31,4.30,5.31,6.30,7.31,8.31,9.30

                        //10.31,11.30

     

                                           if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)

                        {

                            if (d <= 31 && d > 0)                        {

                                Console.WriteLine("日期输入正确!");

                                Console.WriteLine(y + "年" + m + "月" + d + "日");

                                //计算当前日期是当年的第几天

                                if (isok)//说明当前是闰年

                                {

                                    m2 = 29;

                                    switch (m)

                                    {

                                        case 1: sum = d; break;

                                        case 2: sum = m1 + d; break;

                                        case 3: sum = m1 + m2 + d; break;

                                        case 4: sum = m1 + m2 + m3 + d; break;

                                        case 5: sum = m1 + m2 + m3 + m4 + d; break;

                                        case 6: sum = m1 + m2 + m3 + m4 + m5 + d; break;

                                        case 7: sum = m1 + m2 + m3 + m4 + m5 + m6 + d; break;

                                        case 8: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + +d; break;

                                        case 9: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d; break;

                                        case 10: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d; break;

                                        case 11: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d; break;

                                        case 12: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d; break;

                                    }

                                    Console.WriteLine(d + "天是" + y + "的第" + sum + "天");

                                }

                                else//不是闰年

                                {

                                    m2 = 28;

                                    switch (m)

                                    {

                                        case 1: sum = d; break;

                                        case 2: sum = m1 + d; break;

                                        case 3: sum = m1 + m2 + d; break;

                                        case 4: sum = m1 + m2 + m3 + d; break;

                                        case 5: sum = m1 + m2 + m3 + m4 + d; break;

                                        case 6: sum = m1 + m2 + m3 + m4 + m5 + d; break;

                                        case 7: sum = m1 + m2 + m3 + m4 + m5 + m6 + d; break;

                                        case 8: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + +d; break;

                                        case 9: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d; break;

                                        case 10: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d; break;

                                        case 11: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d; break;

                                        case 12: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d; break;

                                    }

                                    Console.WriteLine(d + "天是" + y + "的第" + sum + "天");

                                }

                            }

                            else

                            {

                                Console.WriteLine("日期输入有误!");

                            }

                        }

                        else if (m == 4 || m == 6 || m == 9 || m == 11)//输入的是小月

                        {

                            if (d <= 30 && d > 0)//日期输入正确

                            {

                                Console.WriteLine("日期输入正确!");

                                Console.WriteLine(y + "年" + m + "月" + d + "日");

     

                                //计算当前日期是当年的第几天

                                if (isok)//说明当前是闰年

                                {

                                    m2 = 29;

                                    switch (m)

                                    {

                                        case 1: sum = d; break;

                                        case 2: sum = m1 + d; break;

                                        case 3: sum = m1 + m2 + d; break;

                                        case 4: sum = m1 + m2 + m3 + d; break;

                                        case 5: sum = m1 + m2 + m3 + m4 + d; break;

                                        case 6: sum = m1 + m2 + m3 + m4 + m5 + d; break;

                                        case 7: sum = m1 + m2 + m3 + m4 + m5 + m6 + d; break;

                                        case 8: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + +d; break;

                                        case 9: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d; break;

                                        case 10: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d; break;

                                        case 11: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d; break;

                                        case 12: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d; break;

                                    }

                                    Console.WriteLine(d + "天是" + y + "的第" + sum + "天");

                                }

                                else//不是闰年

                                {

                                    m2 = 28;

                                    switch (m)

                                    {

                                        case 1: sum = d; break;

                                        case 2: sum = m1 + d; break;

                                        case 3: sum = m1 + m2 + d; break;

                                        case 4: sum = m1 + m2 + m3 + d; break;

                                        case 5: sum = m1 + m2 + m3 + m4 + d; break;

                                        case 6: sum = m1 + m2 + m3 + m4 + m5 + d; break;

                                        case 7: sum = m1 + m2 + m3 + m4 + m5 + m6 + d; break;

                                        case 8: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + +d; break;

                                        case 9: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d; break;

                                        case 10: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d; break;

                                        case 11: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d; break;

                                        case 12: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d; break;

                                    }

                                    Console.WriteLine(d + "天是" + y + "的第" + sum + "天");

                                }

                            }

                            else

                            {

                                Console.WriteLine("日期输入有误!");

                            }

                        }

                        else if (m == 2)//如果是2月,那么很麻烦

                        {

                            //判断是否是闰年

                            //年份可以被4整除 并且 不能被100整除

                            //特殊年:或者,年份可以被400整除

                            if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)//说明当前是闰年

                            {

                                if (d <= 29 && d > 0)//日期正确

                                {

                                    Console.WriteLine("日期输入正确!");

                                    Console.WriteLine(y + "年" + m + "月" + d + "日");

                                    Console.WriteLine(y + "年是闰年!");

     

                                    m2 = 29;

                                    switch (m)

                                    {

                                        case 1: sum = d; break;

                                        case 2: sum = m1 + d; break;

                                        case 3: sum = m1 + m2 + d; break;

                                        case 4: sum = m1 + m2 + m3 + d; break;

                                        case 5: sum = m1 + m2 + m3 + m4 + d; break;

                                        case 6: sum = m1 + m2 + m3 + m4 + m5 + d; break;

                                        case 7: sum = m1 + m2 + m3 + m4 + m5 + m6 + d; break;

                                        case 8: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + +d; break;

                                        case 9: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d; break;

                                        case 10: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d; break;

                                        case 11: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d; break;

                                        case 12: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d; break;

                                    }

                                    Console.WriteLine(d + "天是" + y + "的第" + sum + "天");

                                }

                                else//日期错误

                                {

                                    Console.WriteLine("日期输入有误!");

                                }

                            }

                            else//说明不是闰年

                            {

                                if (d <= 28 && d > 0)//日期正确

                                {

                                    Console.WriteLine("日期输入正确!");

                                    Console.WriteLine(y + "年" + m + "月" + d + "日");

                                    Console.WriteLine(y + "年不是闰年!");

     

                                    m2 = 28;

                                    switch (m)

                                    {

                                        case 1: sum = d; break;

                                        case 2: sum = m1 + d; break;

                                        case 3: sum = m1 + m2 + d; break;

                                        case 4: sum = m1 + m2 + m3 + d; break;

                                        case 5: sum = m1 + m2 + m3 + m4 + d; break;

                                        case 6: sum = m1 + m2 + m3 + m4 + m5 + d; break;

                                        case 7: sum = m1 + m2 + m3 + m4 + m5 + m6 + d; break;

                                        case 8: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + +d; break;

                                        case 9: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d; break;

                                        case 10: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d; break;

                                        case 11: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d; break;

                                        case 12: sum = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d; break;

                                    }

                                    Console.WriteLine(d + "天是" + y + "的第" + sum + "天");

                                }

                                else//日期错误

                                {

                                    Console.WriteLine("日期输入有误!");

                                }

                            }

                        }

                    }

                    else//月份错误

                    {

                        Console.WriteLine("月份输入有误!");

                    }

                }

                else//年份输入错误

                {

                    Console.WriteLine("年份输入有误!");

                }

     

                Console.ReadLine();

            }

        }

    }

  • 相关阅读:
    【JMeter】if语句中不能Failure=false解决办法
    【java】method.invoke(方法底层所属对象/null,new Object[]{实际参数})
    【java设计模式】【行为模式Behavioral Pattern】模板方法模式Template Method Pattern
    【java设计模式】代理模式
    33-算法训练 安慰奶牛
    32-java 里面list的问题
    31-java中知识总结:list, set, map, stack, queue
    30-算法训练 最短路 spfa
    29-算法训练 结点选择-超时了!!!
    28-算法训练 最大最小公倍数 -贪心
  • 原文地址:https://www.cnblogs.com/suiyuejinghao123/p/5454579.html
Copyright © 2011-2022 走看看