用c语言实现用户从键盘任意输入一个数字表示月份值n,程序显示该月份对应的英文表示,若n不在1~12之间,则输出“I71ega1 month”。注意: (1)请修改的源程序拷粘贴到答题区内。 (2)对于没有错误的语句,请不要修改,修改原本正确的语句也要扣分。(3)当且仅当错误全部改正,且程序运行结果调试正确,才给加5分。 #include <stdio.h> main() int n; char monthName[][20]-{Illegal month, January,February, March, April, May, June, July, August, Sept printf("Input month number:"); scanf(“%d",n); if ((n < 12) 1 (n > 1)) printf("month %d is %c\n”, n, monthName[n][n]); else printf("%s\n”,monthName[0][0]);
时间: 2024-02-17 10:00:14 浏览: 152
修改后的程序如下:
```
#include <stdio.h>
int main() {
int n;
char monthName[][20] = {"Illegal month", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
printf("Input month number:");
scanf("%d", &n);
if (n >= 1 && n <= 12) {
printf("month %d is %s\n", n, monthName[n]);
} else {
printf("%s\n", monthName[0]);
}
return 0;
}
```
主要修改内容如下:
- 在 `main()` 函数前加上了 `int`,表示 `main()` 函数返回值类型为 `int`。
- 在第 5 行中,修改了 `char monthName[][20]-{...}` 为 `char monthName[][20] = {...}`,表示定义并初始化了一个二维字符数组 `monthName`。
- 在第 8 行中,修改了字符串格式化符号 `%c` 为 `%s`,表示打印一个字符串。
- 在第 10 行中,将判断表达式修改为 `n >= 1 && n <= 12`,表示 `n` 的范围在 1-12 之间。
- 在第 11 行中,修改了字符串格式化符号 `%c` 为 `%s`,表示打印一个字符串。
- 在第 13 行中,修改了字符串格式化符号 `%s` 后的参数为 `monthName[0]`,表示输出字符数组 `monthName` 的第一行,即 "Illegal month"。
阅读全文