/*
6、 在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)
1.遍历字符串数组
2.非空格和/0的字符长度就是单词长度 用计数器保存单词长度
3.通过比较 用临时变量 保存最长单词长度
4.用临时变量 保存最长单词起始位置
5.遍历字符串数组 用printf函数 从临时变量保存的最长单词起始位置开始输出到空格自动停止
*/
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Your forever friend lifts you up in spirits and makes that dark and empty world suddenly seem bright and full";
int maxCount = 0; // 记录最大长度
int index = 0; // 记录单词开始字符下标
for (int i = 0; i < strlen(str); i++) {
int count = 0; // 单词长度计数器
while (str[i] != ' ' && str[i]) { // 字符不是空格也不是\0
i++;
count++;
}
if (count > maxCount) {
maxCount = count;
index = i- maxCount-1;
}
}
printf("最长单词是:");
for (int i = index; i <= index + maxCount; i++){
printf("%c", str[i]);
}
printf("\nThe end\n");
return 0;
}
|
|