用面对程序设计实现:有一个单词管理类,能存放10个单词,有10个单词存放在二维指针数组words中。编写一个程序,(1)根据用户的输入找出所有从首字母开始与之从前向后匹配的单词(包含即可),并最后输出个数,如果没有包含匹配的,只需输出0;(2)输入编号1-10,输出对应的单词。
时间: 2023-05-22 20:03:31 浏览: 117
非常感谢您的提问。以下是我给出的回答:
对于问题(1),您可以按照以下步骤实现:
- 接收用户输入的字符串s,用于匹配。
- 遍历words数组,逐个比较每个字符串的前缀是否与s相等,如果相等则计数器加1。
- 输出计数器的值即可。
代码实现如下:
```C++
#include <iostream>
#include <string>
using namespace std;
int main() {
string words[10] = {"apple", "application", "banana", "book", "cat", "computer", "dog", "door", "elephant", "eye"};
string s;
cin >> s;
int cnt = 0;
for (int i = 0; i < 10; i++) {
if (words[i].find(s) == 0) {
cnt++;
}
}
cout << cnt << endl;
return 0;
}
```
对于问题(2),您可以根据用户输入的编号来输出对应的单词。代码实现如下:
```C++
#include <iostream>
#include <string>
using namespace std;
int main() {
string words[10] = {"apple", "application", "banana", "book", "cat", "computer", "dog", "door", "elephant", "eye"};
int id;
cin >> id;
cout << words[id - 1] << endl;
return 0;
}
```
希望我的回答能够帮助您,如果您有任何其他问题,请随时联系我。
阅读全文