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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ★彬★卍囧神 中级黑马   /  2014-5-15 20:23  /  995 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ★彬★卍囧神 于 2014-5-15 22:29 编辑
  1. /*8、 在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)*/
  2. #include <stdio.h>
  3. int main()
  4. {
  5.         char a[100] ={"asd asddz fas sda "};
  6.         char b[10];
  7.         int i=0,n=0,m=0;
  8. while( a[i] != '\0')
  9.                 { if( a[i] != ' ' )  n++;                //依次判断字符串是否没有空格,没有就计数加1
  10.                         else if( n>m ) {
  11.                                  m=n;                  //判断后面的单词数是否大于前面
  12.                 for(int j=0 ;j<=m ; j++)
  13.                         b[j] = a[i-2];}                      //用字符串b复制a中最长单词
  14.         i++;        
  15.         }
  16.                 printf("%s\n",b );

  17.         return 0;
  18. }
复制代码

1 个回复

倒序浏览
用一个最大变量来保存,如果遇到空格,则从0开始重新遍历
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马