switch case语句

五、switch case语句

1、格式

Switch(表达式)

{

  case 表达式:语句块

  break;

default

break;

}

2、例题

输入年份、月份、日期,判断是否是闰年,并且输出是当年的第几天。

主要代码:

while (true)

{

    Console.Write("请输入年份:");

    int y = int.Parse(Console.ReadLine());

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

    {

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

        {

            Console.WriteLine("您输入的是闰年!");

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

            int m = int.Parse(Console.ReadLine());

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

            {

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

                int d = int.Parse(Console.ReadLine());

                if (((m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) && (d >= 1 && d <= 31)) || ((m == 4 || m == 6 || m == 9 || m == 11) && (d >= 1 && d <= 30)) || (m == 2 && (d >= 1 && d <= 29)))

                {

                    switch (m)

                    {

                        case 1: Console.WriteLine("是{0}年的第{1}天。", y, d);

                        break;

                        case 2: Console.WriteLine("是{0}年的第{1}天。", y, 31 + d);

                        break;

                        case 3: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + d);

                        break;

                        case 4: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + d);

                        break;

                        case 5: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + d);

                        break;

                        case 6: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + d);

                        break;

                        case 7: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + d);

                        break;

                        case 8: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + d);

                        break;

                        case 9: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + d);

                        break;

                        case 10: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + d);

                        break;

                        case 11: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + d);

                        break;

                        case 12: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + d);

                        break;

                    }

                    Console.WriteLine("现在是{0}年{1}月{2}日!", y, m, d);

                }

                else

                   Console.WriteLine("您输入的不是正确日期!");

                   Console.WriteLine("{0}年是闰年!", y);

            }

            else

               Console.WriteLine("您输入的不是正确月份!");

        }

        else

        {

            Console.WriteLine("您输入的不是是闰年!");

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

            int m = int.Parse(Console.ReadLine());

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

            {

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

                int d = int.Parse(Console.ReadLine());

                if (((m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) && (d >= 1 && d <= 31)) || ((m == 4 || m == 6 || m == 9 || m == 11) && (d >= 1 && d <= 30)) || (m == 2 && (d >= 1 && d <= 28)))

                {

                    switch (m)

                    {

                        case 1: Console.WriteLine("是{0}年的第{1}天。", y, d);

                        break;

                        case 2: Console.WriteLine("是{0}年的第{1}天。", y, 31 + d);

                        break;

                        case 3: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + d);

                        break;

                        case 4: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + d);

                        break;

                        case 5: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + d);

                        break;

                        case 6: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + d);

                        break;

                        case 7: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + d);

                        break;

                        case 8: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + d);

                        break;

                        case 9: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + d);

                        break;

                        case 10: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + d);

                        break;

                        case 11: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + d);

                        break;

                        case 12: Console.WriteLine("是{0}年的第{1}天。", y, 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + d);

                        break;

                    }

                    Console.WriteLine("现在是{0}年{1}月{2}日!", y, m, d);

                }

                else

                   Console.WriteLine("您输入的不是正确日期!");

                   Console.WriteLine("{0}年不是闰年!", y);

            }

            else

               Console.WriteLine("您输入的不是正确月份!");

        }

    }

    else

       Console.WriteLine("您输入的不是正确的年份!");

}

Console.ReadLine();

结果:

posted on 2016-04-28 19:08  bosamvs  阅读(458)  评论(0编辑  收藏  举报

导航