用c语言不用指针来编写一个判断字符串“I love c program ”中最长的英语单词
时间: 2024-05-15 07:12:16 浏览: 20
这里是一种不使用指针的方法,可以实现找出字符串中最长的英语单词:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[] = "I love c program";
char word[20], longest_word[20];
int i, j, len, longest_len = 0;
len = strlen(str);
for (i = 0; i < len; i++) {
if (isalpha(str[i])) {
j = 0;
while (isalpha(str[i])) {
word[j] = str[i];
i++;
j++;
}
word[j] = '\0';
if (strlen(word) > longest_len) {
strcpy(longest_word, word);
longest_len = strlen(word);
}
}
}
printf("The longest word is: %s\n", longest_word);
return 0;
}
```
首先,我们定义了一个字符串 `str` 和两个字符数组 `word` 和 `longest_word`,分别用于存放当前的单词和目前为止最长的单词。
然后,我们遍历字符串 `str` 的每一个字符,如果是字母,则将其加入到 `word` 中,直到遇到空格或非字母字符为止。此时,我们就得到了一个单词,并将其与 `longest_word` 比较,如果比 `longest_word` 还要长,则将其复制到 `longest_word` 中。
最后,输出 `longest_word` 即可。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)