如果有 months = "jan.feb.mar.apr.may.jun.jul.aug.sep.oct.nov.dec.",编写一个程序,用户输入一个月份的数字,输出月份的缩写。 C++
时间: 2024-02-11 19:05:03 浏览: 84
好的,可以使用 C++ 的字符串和数组来实现这个程序。下面是一个示例代码:
```C++
#include <iostream>
#include <string>
using namespace std;
int main() {
string months = "jan.feb.mar.apr.may.jun.jul.aug.sep.oct.nov.dec.";
string abbreviations[12];
int pos = 0;
for (int i = 0; i < 12; i++) {
pos = months.find(".");
abbreviations[i] = months.substr(0, pos);
months.erase(0, pos + 1);
}
int monthNumber;
cout << "请输入月份的数字(1-12):";
cin >> monthNumber;
if (monthNumber >= 1 && monthNumber <= 12) {
cout << "月份的缩写是:" << abbreviations[monthNumber - 1] << endl;
} else {
cout << "无效的月份数字,请输入1-12之间的数字。" << endl;
}
return 0;
}
```
在这个程序中,我们首先定义了一个字符串变量 `months`,其中包含了每个月份的缩写,各个缩写之间用点号分隔。然后我们定义了一个字符串数组 `abbreviations` 来存储每个月份的缩写,使用一个循环来从 `months` 中依次截取每个缩写,并将其存储到 `abbreviations` 数组中。
接下来,程序提示用户输入一个月份的数字,并读取用户的输入。如果输入的数字在1到12之间,程序输出对应月份的缩写;否则,程序输出错误提示信息。
注意,在这个程序中,我们使用了字符串的 `find` 和 `substr` 方法来从 `months` 中截取每个月份的缩写。`find` 方法可以找到字符串中第一个出现指定字符或子字符串的位置,而 `substr` 方法则可以截取指定位置和长度的子字符串。
阅读全文