从键盘任意输入一个整型表示的月份值,用指针数组变成输出该月份的英文表示,若输 入的月份值不在1-12之间,则输出“Illegal month”。· 提示:定义一个指针数组存放月份的英文表示,然后输出相应月份。·
时间: 2024-05-14 08:15:19 浏览: 45
示例:
输入:
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++实现以下功能。1. 编一程序,将输入数据按小于10,10~99,100~999,1000 以上分类并显示。例如,输入358时,显示358 is 100 to 999。 2. 编一程序,求满足如下条件的最大的n 。12+22+32+…+n2≤1000 3. 从键盘上任意输入5个数,然后将它们从大到小排序输出。 4. 输入一串字符串,求此字符串的长度。 5. 编写程序,将10个整型数2、4、6、…、18、20赋予一个数组,然后使用指针输出显示该数组各元素的值。 6. 输入一串字符串,求此字符串的长度。
好的,我会依次回答你的问题。
1. C++实现将输入数据按大小分类并显示的程序:
```c++
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整数:";
cin >> num;
if (num < 10) {
cout << num << " is less than 10." << endl;
} else if (num < 100) {
cout << num << " is between 10 and 99." << endl;
} else if (num < 1000) {
cout << num << " is between 100 and 999." << endl;
} else {
cout << num << " is greater than or equal to 1000." << endl;
}
return 0;
}
```
2. C++实现求满足条件的最大的n的程序:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int total = 0;
int n = 1;
while (total + pow(n, 2) <= 1000) {
total += pow(n, 2);
n++;
}
cout << "满足条件的最大的n为:" << n - 1 << endl;
return 0;
}
```
3. C++实现输入5个数并从大到小排序输出的程序:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[5];
cout << "请输入5个整数:" << endl;
for (int i = 0; i < 5; i++) {
cin >> arr[i];
}
sort(arr, arr+5, greater<int>());
cout << "从大到小排序后的结果为:" << endl;
for (int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
4. C++实现求字符串长度的程序:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
cout << "请输入一个字符串:";
cin >> str;
int len = strlen(str);
cout << "此字符串的长度为:" << len << endl;
return 0;
}
```
5. C++使用指针输出数组元素的值的程序:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int *p = arr;
for (int i = 0; i < 10; i++) {
cout << *(p+i) << " ";
}
cout << endl;
return 0;
}
```
6. 同第4题。
阅读全文