输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。 若输入月份错误,输出提示信息。 输入输出示例:括号内为说明,无需输入输出
时间: 2024-05-01 11:19:17 浏览: 15
以下是代码实现:
```
#include <stdio.h>
#include <string.h>
int main() {
char *months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; // 用指针数组表示12个月的英文名称
int repeat, month;
scanf("%d", &repeat);
while (repeat--) {
scanf("%d", &month);
if (month < 1 || month > 12) { // 判断月份是否合法
printf("Invalid input!\n"); // 输出提示信息
} else {
printf("%s\n", *(months + month - 1)); // 输出对应的英文名称
}
}
return 0;
}
```
输入输出示例:
输入:
```
2
3
13
```
输出:
```
March
Invalid input!
```
相关问题
代码输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。 若输入月份错误,输出提示信息。 输入输出示例:括号内为说明,无需输入输出
好的,这是一个简单的 C 语言程序,可以满足您的要求:
```c
#include <stdio.h>
int main() {
char *months[] = {"January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"};
int repeat, month;
scanf("%d", &repeat);
while (repeat--) {
scanf("%d", &month);
if (month < 1 || month > 12) {
printf("Invalid input\n");
} else {
printf("%s\n", months[month - 1]);
}
}
return 0;
}
```
程序中使用了一个字符串指针数组 `months`,其中存放了 12 个月份的英文名称。然后通过循环输入要查询的月份,如果输入的月份不在 1-12 之间,则输出提示信息;否则输出对应的英文月份名称。
注意:该程序假设输入的月份为整数类型。如果需要支持输入字符串类型的月份,需要进行额外的处理。
好的,以下是用中文回复: 题目描述: 输入一个正整数repeat (<repeat<10),做repeat次下列运算:编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。若输入月份错误,输出提示信息。 输入输出示例:括号内为说明,无需输入输出 解题思路: 1. 首先定义一个指针数组,存储12个月份的英文名称; 2. 然后输入月份,判断是否在1~12之间,如果不在则输出提示信息; 3. 如果在1~12之间,则输出对应的英文名称。 代码实现:
好的,以下是用中文回答:
可以按照以下代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char *months[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
int repeat, month;
scanf("%d", &repeat);
while (repeat--) {
scanf("%d", &month);
if (month < 1 || month > 12) {
printf("Invalid input\n");
} else {
printf("%s\n", months[month - 1]);
}
}
return 0;
}
```
思路解析:
1. 首先定义了一个指针数组 `months`,存储了12个月份的英文名称;
2. 然后输入了一个正整数 `repeat`,表示要进行几次运算,使用 `while (repeat--)` 进行循环;
3. 在循环中,先输入一个月份 `month`,判断是否在1~12之间,如果不在则输出提示信息 `Invalid input`;
4. 如果在1~12之间,则输出对应的英文名称,即 `months[month - 1]`。
注意事项:
1. 在输出月份名称时,要使用 `%s` 格式控制符,并且要指定对应的数组元素,即 `months[month - 1]`;
2. 如果月份输入错误,要输出提示信息,不能直接退出程序。
阅读全文