输入一个正整数repeat (0<repeat<10),做repeat次下列运算:\n\n编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。\n\n若输入月份错误,输出提示信息
时间: 2023-05-31 12:18:34 浏览: 238
### 回答1:
好的,以下是用中文回复:
题目要求编写一个程序,输入一个月份,输出对应的英文名称。要求用指针数组表示12个月的英文名称。同时,需要重复执行这个程序repeat次。
具体实现可以按照以下步骤:
1. 定义一个指针数组,存储12个月份的英文名称。
2. 通过scanf函数输入一个月份,存储在一个整型变量中。
3. 判断输入的月份是否在1~12之间,如果不是,则输出提示信息。
4. 如果输入的月份合法,则通过指针数组输出对应的英文名称。
5. 重复执行上述步骤repeat次。
希望以上回答能够帮到您,如有不懂之处,欢迎继续提问。
### 回答2:
本题要求编写一个程序,输入一个正整数 repeat(表示运算要重复的次数,范围在 1-9 之间),然后进行 repeat 次输入对应的月份,输出对应的英文名称,要求用指针数组表示 12 个月的英文名称。
首先需要声明一个指针数组,存储 12 个月份的英文名称,如下:
```c
char *months[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
```
然后,通过循环输入重复次数的个数,再输入需要查询的月份,通过判断月份的大小,指向相应的指针,输出对应的英文名称。
```c
for (int i = 0; i < repeat; i++) // 根据重复次数进行循环
{
int month;
printf("Enter a month number: ");
scanf("%d", &month);
if (month >= 1 && month <= 12) // 判断月份是否在1~12之间,若是则输出对应英文名称,否则提示错误信息
{
printf("%s\n", *(months + month - 1));
}
else
{
printf("Invalid input! Please enter again.\n");
i--;
}
}
```
完整代码如下:
```c
#include <stdio.h>
int main()
{
char *months[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
int repeat;
printf("Enter repeat times: ");
scanf("%d", &repeat);
for (int i = 0; i < repeat; i++)
{
int month;
printf("Enter a month number: ");
scanf("%d", &month);
if (month >= 1 && month <= 12)
{
printf("%s\n", *(months + month - 1));
}
else
{
printf("Invalid input! Please enter again.\n");
i--;
}
}
return 0;
}
```
注意:本题还可以通过 switch-case 语句实现,也可以通过一个函数返回一个月份的英文名称。
### 回答3:
首先,我们需要定义一个指针数组,用来存储12个月的英文名称:
char *months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
然后,在程序中输入一个月份,通过判断输入的月份是否在1-12之间,如果是,就输出对应的英文名称,如果不是,则输出提示信息。
以下是完整的程序:
#include <stdio.h>
int main() {
char *months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
int repeat, month;
printf("请输入要运行的次数:");
scanf("%d", &repeat);
for (int i = 0; i < repeat; i++) {
printf("请输入月份:");
scanf("%d", &month);
if (month >= 1 && month <= 12) {
printf("%d月份的英文名称是:%s\n", month, months[month - 1]);
} else {
printf("输入的月份有误,请重新输入!\n");
}
}
return 0;
}
程序中,我们使用for循环来循环输入月份的操作,调用指针数组中的元素来输出对应的英文名称。需要注意的是,由于数组下标从0开始,所以要将输入的月份减1才能得到正确的英文名称。
运行程序后,输入要运行的次数和月份,程序会输出对应的英文名称。如果输入的月份不在1-12之间,程序会提示用户重新输入。
阅读全文
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)