从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。

从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。

**输入格式要求:"%d" 提示信息:“Input month number:”
**输出格式要求:“month %d is %s\n”
“Illegal month”, “January”, “February”, “March”, “April”, “May”, “June”, “July”, “August”, “September”, “October”, “November”, “December”

程序运行示例1如下:
Input month number:5
month 5 is May

程序运行示例2如下:
Input month number:13
Illegal month

#include<stdio.h>
int main()
{
   
	int n;
### 回答1: 可以定义一个指针数组,数组中存放12个字符串,分别表示1月到12月的英文名称。然后根据输入月份输出对应的字符串即可。 具体的代码实现如下: ```c #include <stdio.h> int main() { char *months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; int month; printf("请输入一个月份(1-12):"); scanf("%d", &month); if (month >= 1 && month <= 12) { printf("该月份英文表示为:%s\n", months[month-1]); } else { printf("illegal month\n"); } return ; } ``` 运行结果: ``` 请输入一个月份(1-12):3 该月份英文表示为:March ``` ### 回答2: 题目要求输入一个整型表示月份,然后通过指针数组输出月份英文表示,如果输入月份不在1-12之间,则输出illegal month”。这是一个简单的指针应用题,需要对指针数组的使用有一定的掌握。 首先,我们需要定义一个指针数组,用来存储月份英文表示。数组的大小为13,因为月份是从1开始的,我们可以将数组下标为0的位置空出来,不使用。数组中每个元素都是一个指向字符数组的指针,即指向月份英文表示。 ```c char *monthName[] = {"", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; ``` 接下来,我们需要从键盘输入一个整型数,表示月份。为了方便,我们可以定义一个整型变量month,并通过scanf函数从键盘读入month。 ```c int month; scanf("%d", &month); ``` 然后,我们需要判断输入月份是否合法,即是否在1-12之间。如果不在1-12之间,我们需要输出illegal month”。这可以通过if语句来实现。 ```c if (month < 1 || month > 12) { printf("illegal month\n"); return 0; } ``` 最后,我们需要输出月份英文表示。由于monthName是一个指针数组,我们可以通过month作为下标来访问对应的英文表示,然后通过printf函数输出即可。 ```c printf("%s\n", monthName[month]); ``` 完整代码如下: ```c #include <stdio.h> int main() { char *monthName[] = {"", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; int month; scanf("%d", &month); if (month < 1 || month > 12) { printf("illegal month\n"); return 0; } printf("%s\n", monthName[month]); return 0; } ``` 通过这个代码示例,我们可以看到指针数组的使用方法,以及如何通过指针数组输出月份英文表示。 ### 回答3: 本题要求根据输入的数字月份输出相应的英文表示。我们可以通过建立一个字符串数组,来存储英文月份名称,再根据输入的数字月份作为数组的下标,输出所对应的名称。具体实现可以使用指针数组,使得代码更为简洁和高效。以下是具体的步骤: 1. 建立一个字符串数组,用来存储12月份英文名称。例如: char* months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; 2. 定义一个整型变量month,并使用scanf函数从键盘输入月份。 int month; scanf("%d", &month); 3. 判断输入月份是否在1~12之间,如果不在则输出illegal month”,并结束程序;否则继续执行。 if(month < 1 || month > 12){ printf("illegal month\n"); return 0; } 4. 使用指针数组输出所对应的英文名称。例如,如果输入的数字月份为3,则输出“March”。 printf("%s\n", months[month-1]); 注意,由于数组的下标是从0开始的,而输入的数字月份是从1开始的,因此需要将输入月份减去1才能正确获取对应的数组元素。 完整代码如下: #include <stdio.h> int main() { char* months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; int month; scanf("%d", &month); if(month < 1 || month > 12){ printf("illegal month\n"); return 0; } printf("%s\n", months[month-1]); return 0; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值