1. 尝试使用枚举类型完成下面的功能: 编写程序,让用户输入月/日/年,输出月的名称,日,年。 如: input date: 1/20/2023 January 20, 2023
时间: 2023-12-03 18:41:56 浏览: 249
以下是使用 Python 语言实现的代码:
```python
from enum import Enum
class Month(Enum):
JANUARY = 1
FEBRUARY = 2
MARCH = 3
APRIL = 4
MAY = 5
JUNE = 6
JULY = 7
AUGUST = 8
SEPTEMBER = 9
OCTOBER = 10
NOVEMBER = 11
DECEMBER = 12
def print_date(month, day, year):
month_name = month.name.capitalize()
print(f"{month_name} {day}, {year}")
date_str = input("Enter a date (mm/dd/yyyy): ")
month_str, day_str, year_str = date_str.split("/")
month = Month(int(month_str))
day = int(day_str)
year = int(year_str)
print_date(month, day, year)
```
运行程序后,用户将被提示输入一个日期。程序将把输入的字符串解析成月、日、年三个部分,并将月份转换成对应的枚举类型。最终,程序将输出按照规定格式格式化后的日期。
相关问题
编写C语言程序1. 尝试使用枚举类型完成下面的功能: 编写程序,让用户输入月/日/年,输出月的名称,日,年。 如: input date: 1/20/2023 January 20, 2023
以下是使用枚举类型的 C 语言程序,可以实现输入月/日/年,输出月的名称,日,年的功能:
```c
#include <stdio.h>
// 定义月份的枚举类型
enum Month {
JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
};
int main() {
int month, day, year;
printf("input date: ");
scanf("%d/%d/%d", &month, &day, &year);
// 输出月份的名称
switch (month) {
case JAN: printf("January"); break;
case FEB: printf("February"); break;
case MAR: printf("March"); break;
case APR: printf("April"); break;
case MAY: printf("May"); break;
case JUN: printf("June"); break;
case JUL: printf("July"); break;
case AUG: printf("August"); break;
case SEP: printf("September"); break;
case OCT: printf("October"); break;
case NOV: printf("November"); break;
case DEC: printf("December"); break;
default: printf("Invalid month"); break;
}
// 输出日和年
printf(" %d, %d", day, year);
return 0;
}
```
上述程序中,我们使用了枚举类型 `Month` 来表示所有的月份,并通过 `switch` 语句输出了对应月份的名称。在输入日期时,我们使用了格式化字符串 `"%d/%d/%d"`,能够让用户以 `月/日/年` 的格式输入日期。最后,我们输出了日和年,并在月份名称后添加了逗号和空格。
阅读全文