在所给的10个单词中找出不包含元音字母(a,e,i,o,u)的单词,将符合条件的单词的个数以及这些单词按照字典顺序输出。 ⑴ 编写函数int FindNoVowel(char *str[],int num,char res[][20]),str指向的指针数组中保存若干单词字符串的首地址,num保存单词的个数,res指向的数组保存找到的符合条件的单词字符串,每行存放一个单词,要求将符合条件的单词按字典顺序存储,函数返回符合条件的单词个数。 ⑵ 编写main()函数,从键盘输入数组,调用函数FindNoVowel,将符合条件的所有单词按字典顺序输出,单词之间用1个空格隔开。
时间: 2024-02-13 12:59:42 浏览: 222
以下是示例代码,供参考:
```c
#include <stdio.h>
#include <string.h>
int checkNoVowel(char *str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') {
return 0;
}
}
return 1;
}
int FindNoVowel(char *str[], int num, char res[][20]) {
int count = 0;
for (int i = 0; i < num; i++) {
if (checkNoVowel(str[i])) {
strcpy(res[count], str[i]);
count++;
}
}
// 对符合条件的单词按字典顺序排序
for (int i = 0; i < count; i++) {
for (int j = i + 1; j < count; j++) {
if (strcmp(res[i], res[j]) > 0) {
char temp[20];
strcpy(temp, res[i]);
strcpy(res[i], res[j]);
strcpy(res[j], temp);
}
}
}
return count;
}
int main() {
char str[10][20];
int num;
printf("请输入单词个数:");
scanf("%d", &num);
printf("请输入单词:\n");
for (int i = 0; i < num; i++) {
scanf("%s", str[i]);
}
char res[10][20];
int count = FindNoVowel(str, num, res);
printf("符合条件的单词有%d个:\n", count);
for (int i = 0; i < count; i++) {
printf("%s ", res[i]);
}
printf("\n");
return 0;
}
```
代码中的`checkNoVowel`函数用于检查一个单词是否不包含元音字母,`FindNoVowel`函数用于查找所有符合条件的单词并按字典顺序排序,`main`函数用于输入单词并调用`FindNoVowel`函数输出符合条件的单词。在输入单词时,每个单词不能超过20个字符。
阅读全文