五、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();
结果:
转载于:https://www.cnblogs.com/bosamvs/p/5443882.html