用C#编写程序,要求用户输入月份和年份,程序输出对应的月份的英文名和年份,及该年当前月份的总天数。这里需要注意的是闰年的情况。例如,用户输入2月和 2012年则显示“February 2012 had 29 days”。
时间: 2024-12-24 19:40:40 浏览: 1
在C#中,可以使用DateTime类以及它的Days属性来获取特定月份的天数,同时判断是否为闰年。下面是一个示例程序:
```csharp
using System;
class Program
{
static void Main()
{
Console.Write("请输入月份(1-12):");
int month = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入年份:");
int year = Convert.ToInt32(Console.ReadLine());
string[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
string monthName = months[month - 1]; // 注意月份从0开始计数
DateTime date = new DateTime(year, month, 1);
bool isLeapYear = IsLeapYear(date.Year);
if (isLeapYear)
{
Console.WriteLine($"{monthName} {year} had {date.Days} days.");
}
else
{
Console.WriteLine($"{monthName} {year} had {date.DayCount} days. (Not a leap year)");
}
}
static bool IsLeapYear(int year)
{
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
}
```
在这个程序中,我们首先获取用户输入的月份和年份,然后根据数组找到对应的月份名称。接着,我们创建一个DateTime对象表示指定的日期,并通过IsLeapYear函数判断该年是否为闰年。如果是闰年,则使用Days属性输出总天数;如果不是,则使用DayCount属性(它会包含非闰年的2月28天),并在消息中说明。
阅读全文