编写一程序,输入月份号,输出该月的英文月名。例如,输入 $3$,则输出 $March$,要求用指针数组处理。
时间: 2024-05-08 15:19:51 浏览: 70
好的,以下是符合您要求的程序代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char* month_name[] = { "January", "February", "March", "April",
"May", "June", "July", "August", "September",
"October", "November", "December" };
int month_num;
printf("请输入月份号:");
scanf("%d", &month_num);
if(month_num < 1 || month_num > 12)
{
printf("输入的月份号不合法!\n");
return 0;
}
printf("%d月的英文月名是:%s\n", month_num, month_name[month_num-1]);
return 0;
}
```
该程序定义了一个指针数组`month_name`,其中存储了每个月份的英文月名。程序通过输入一个月份号来获取相应的英文月名,如果该月份号不合法,则输出提示信息。
请问还有其他问题吗?
相关问题
编写一程序,输入一些月份号,输出这些月的英文月名。例如,输入 $3$,则输出 $March$,要求用指针数组处理。
好的,以下是实现该程序的代码:
```c
#include <stdio.h>
void get_month_name(int *month, int n, char **month_name) {
int i;
for (i = 0; i < n; i++) {
switch (month[i]) {
case 1:
month_name[i] = "January";
break;
case 2:
month_name[i] = "February";
break;
case 3:
month_name[i] = "March";
break;
case 4:
month_name[i] = "April";
break;
case 5:
month_name[i] = "May";
break;
case 6:
month_name[i] = "June";
break;
case 7:
month_name[i] = "July";
break;
case 8:
month_name[i] = "August";
break;
case 9:
month_name[i] = "September";
break;
case 10:
month_name[i] = "October";
break;
case 11:
month_name[i] = "November";
break;
case 12:
month_name[i] = "December";
break;
default:
printf("Invalid month number!\n");
month_name[i] = "Unknown";
break;
}
}
}
int main() {
int month[5] = {3, 7, 11, 13, 5};
char *month_name[5];
int n = sizeof(month) / sizeof(month[0]); // 数组元素个数
int i;
get_month_name(month, n, month_name);
for (i = 0; i < n; i++) {
printf("Month %d is %s\n", month[i], month_name[i]);
}
return 0;
}
```
程序的基本思路是,首先定义一个指针数组,用来存放月份对应的英文名;然后定义一个函数,接收月份数组和指向指针数组的指针,根据月份数设置指针数组元素值为对应的英文名;最后在主函数中调用该函数,并打印出月份和英文名。
编写一程序,输入月份号,输出该月的英文月名。例如,输入“3”,则输出“March”,要求用指针数组处理
以下是使用指针数组处理的 C 语言程序,实现根据输入的月份号输出该月的英文月名:
```c
#include <stdio.h>
int main() {
char *months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; // 定义指针数组,存储英文月名
int month_num;
printf("请输入月份号: ");
scanf("%d", &month_num);
if (month_num < 1 || month_num > 12) { // 判断月份号是否合法
printf("输入的月份号不合法!\n");
return 0;
}
printf("该月的英文月名为:%s\n", months[month_num-1]); // 输出该月的英文月名
return 0;
}
```
上述程序中,我们定义了一个指针数组 `months`,存储了 12 个英文月名。当用户输入月份号时,我们首先判断月份号是否合法,然后通过指针数组输出对应的英文月名。
需要注意的是,由于数组下标从 0 开始,而月份号从 1 开始,因此我们在输出英文月名时需要减去 1。
阅读全文