c语言输入一行字符将此字符串中最长的单词输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言输入一行字符将此字符串中最长的单词输出相关的知识,希望对你有一定的参考价值。

这函数 我怎么没见过 是c语言吗

#include <iostream>
void main()

int word(char c);
int longest(char str[]);
int i;
char str[80];
printf("输入一行字符串\\n\\n");
gets(str);
printf("\\n\\n最长的单词为:\\n\\n");
for(i=longest(str);word(str[i]);i++)
printf("%c",str[i]);
printf("\\n");

int word(char c)

if((c>=\'a\'&&c<=\'z\')||(c>=\'A\'&&c<=\'Z\')) return 1;
else return 0;


int longest(char str[])【这个函数几乎完全看不懂 望逐句详细解释其逻辑】

int i,flag=1,len=0,point,max_len=0,max_point;
for(i=0;i<=strlen(str);i++)//解析每个字符

if(word(str[i])) //是英文字母的话

if(flag==1) //成立的话说明这个英文字母是单词的第一个

point=i; //单词第一个找到后改变标志
flag=0;

else len++; //开始对这个单词长度进行累加

else //非英文字母的话

flag=1; //等待第一个英文字母的出现,所以flag=1(要是下一个是英文字母的话就能执行上面的if)
if(len>max_len)//之前累加的单词长度是否比上一个单词更长(第一次的话max_len初始化为0,len必大于max_len)

max_len=len;//将单词长度保存下来
max_point=point;//将最长单词的第一个英文字母在字符串中的位置保存下来

len=0;


return (max_point);
参考技术A #include <string>
#include <iostream>
using namespace std;

int main()

string s, t;
while (cin >> s)
if (s.size() > t.size()) t = s;
cout << t << endl;
return 0;

以上是关于c语言输入一行字符将此字符串中最长的单词输出的主要内容,如果未能解决你的问题,请参考以下文章

C语言编程:写一个函数,输入一行字符,将此字符串中最长的单词输出.

c++:写一函数,输入一行字符,将此字符串中最长的单词输出。

一个c语言问题,编写一个函数,从键盘输入一行字符,将此字符串中最长和最短的单词输出

写一个函数,输入一行字符,将此字符串中最长的单词输出

谭浩强 C程序设计 8.10写一函数,输入一行字符,将此字符串中最长的单词输出。

编写一个函数,输和一行字符,将此字符串中最长的单词输出