A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <stdio.h>
#include <string.h>

int main()
{
    int maxlen,curlen,maxpos;              //三个变量分别代表:最大单词长度,目前单词长度,最长单词末字符位置。
    char str[]="find the longest word in the string";    //定义字符串
    for (int i=0; i<strlen(str); i++)      //利用for循环遍历字符串的每个字符
    {
        if ((str[i]!=' ')&&(str[i]!='\0'))
            curlen++;                      //如果字符不为空格或者\0则当前单词长度+1
        else
        {
            if (curlen>maxlen)             //如果当前单词长度大于最长单词长度
            {
                maxlen=curlen;             //将此单词长度赋值给最长单词长度
                maxpos=i;                  //将最长单词长度末字符位置记录下来
            }
            curlen=0;                      //重置当前单词长度
        }
    }
    int j;
    for(j=maxpos-maxlen+1;j<=maxpos;j++)
        printf("%c",str[j]);               //遍历最长单词的每个字符并打印
   
    return 0;
}

4 个回复

倒序浏览
虽然我自己也能写的出来,但还是顶一个。
回复 使用道具 举报
玉林流年 发表于 2015-2-15 13:11
你确定你运行没有出现奇怪的东西?1.声明变量却没有初始化!
如果不初始化,全局变量默认为0,局部变量默认 ...

改了一下就是错在没有初始化,真的非常感谢
回复 使用道具 举报
玉林流年 发表于 2015-2-15 16:53
客气啦,你能告诉我你的26分怎么来的吗?
我的积分太慢了,只能过年了还在泡论坛 ...

我也是泡论坛,还有黑马币兑换,你是学什么的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马