用c++实现:有一个单词管理类,能存放10个单词,有10个单词存放在二维指针数组words中。编写一个程序,(1)根据用户的输入找出所有从首字母开始与之从前向后匹配的单词(包含即可),并最后输出个数,如果没有包含匹配的,只需输出0;(2)输入编号1-10,输出对应的单词。
时间: 2023-05-20 07:05:13 浏览: 144
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_WORDS 10
#define MAX_WORD_LEN 20
char* words[MAX_WORDS] = {"apple", "banana", "cat", "dog", "elephant", "fish", "grape", "horse", "ice", "jacket"};
int main() {
char input[MAX_WORD_LEN];
int i, j, num_matches = 0;
printf("请输入一个单词:");
scanf("%s", input);
for (i = 0; i < MAX_WORDS; i++) {
if (strncmp(input, words[i], strlen(input)) == 0) {
printf("%s\n", words[i]);
num_matches++;
}
}
printf("共找到%d个匹配的单词。\n", num_matches);
printf("请输入一个编号(1-10):");
scanf("%d", &i);
if (i < 1 || i > 10) {
printf("输入错误!\n");
return 0;
}
printf("编号%d对应的单词是:%s\n", i, words[i-1]);
return 0;
}
```
这个程序实现了一个单词管理类,能存放10个单词,有10个单词存放在二维指针数组words中。程序根据用户的输入找出所有从首字母开始与之从前向后匹配的单词,并最后输出个数,如果没有包含匹配的,只需输出0;输入编号1-10,输出对应的单词。
阅读全文