C语言在主函数中输入一个字符串,由若干个英文单词组成,单词之间用空格分开。调用一个函数输出此字符串中最长的包含字母a的单词。(若没有包含字母a的单词则输出相应的提示。
时间: 2023-06-02 19:05:25 浏览: 149
好的,这个问题是与编程相关的,可以回答。这里有一个简单的 C 语言程序示例,可以实现这个功能:
```c
#include <stdio.h>
#include <string.h>
/* 判断一个单词是否包含字母 a */
int contains_a(char *word) {
for (int i = 0; i < strlen(word); i++) {
if (word[i] == 'a') {
return 1;
}
}
return 0;
}
/* 找出字符串中最长的包含字母 a 的单词 */
char *longest_word_with_a(char *str) {
char *p = strtok(str, " ");
char *longest = NULL;
while (p) {
if (contains_a(p)) {
if (longest == NULL || strlen(p) > strlen(longest)) {
longest = p;
}
}
p = strtok(NULL, " ");
}
return longest;
}
int main() {
char str[100];
char *result;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
result = longest_word_with_a(str);
if (result == NULL) {
printf("没有包含字母 a 的单词。\n");
} else {
printf("最长的包含字母 a 的单词是:%s\n", result);
}
return 0;
}
```
你可以运行这个程序并输入一个字符串,程序将输出该字符串中最长的包含字母 a 的单词。如果没有包含字母 a 的单词,程序将输出相应的提示。
阅读全文