从键盘任意输入一个整型表示的月份值,用指针数组变成输出该月份的英文表示,若输 入的月份值不在1-12之间,则输出“Illegal month”。· 提示:定义一个指针数组存放月份的英文表示,然后输出相应月份。·
时间: 2024-05-14 18:15:19 浏览: 11
示例:
输入:
4
输出:
April
代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
const char *month[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
int input;
cin >> input;
if (input >= 1 && input <= 12) {
cout << month[input - 1] << endl;
} else {
cout << "Illegal month" << endl;
}
return 0;
}
```
相关问题
从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“illegal month”。
### 回答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;
}
C语言从键盘中输入十个整型数据,放入数组中,求其最大值,输出
好的,这是一个比较基础的 C 语言问题。下面是一个简单的实现:
```c
#include <stdio.h>
int main() {
int arr[10];
int max = 0; // 假设最大值为0
// 从键盘中输入十个整型数据,放入数组中
printf("请输入十个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 求最大值
for (int i = 0; i < 10; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
// 输出最大值
printf("最大值为:%d\n", max);
return 0;
}
```
在上面的代码中,我们定义了一个长度为 10 的整型数组 `arr`,然后通过 `for` 循环从键盘中读入十个整型数据,放入数组中。接着,我们用一个变量 `max` 来记录当前最大值,初值为 0。然后再次使用 `for` 循环遍历数组,如果当前元素比 `max` 大,就更新 `max` 的值。最后,输出 `max` 即为数组中的最大值。