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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. /*

  2. 7、 在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)

  3. */

  4. #include <stdio.h>
  5. int main(int argc, const char * argv[]) {
  6.     //定义一个数组存放用户输入的字符串
  7.     char string[100];
  8.     //定义一个指针指向该字符串的首地址
  9.     char *p=string;
  10.     //定义变量作为计数器和最长单词数
  11.     int count=0,max=0;
  12.     //提示用户输入一个字符串
  13.     printf("请输入一个字符串,空格用来分隔不同单词,并以回车键结束:\n");
  14.     //接收用户输入的字符串
  15.     gets(string);
  16.     //循环结束条件判断
  17.     while (*p!='\0') {
  18.         //判断是否是空格
  19.         if (*p==' ') {
  20.             //比较字符串长度,将较长的长度赋值给max,计数器归零
  21.             if (max<=count)
  22.                 max=count;
  23.                 count=0;
  24.         }
  25.         //计数
  26.         else count++;
  27.         //使指针的指向下移
  28.         p++;
  29.         }
  30.     //比较最后一个字符串长度与之前最长的字符串长度并赋值
  31.     if (max<=count)max=count;
  32.     printf("字符串中最长单词的长度为%d\n",max);
  33.     return 0;
  34. }
复制代码

6 个回复

倒序浏览
学到了~
回复 使用道具 举报
小弟捋一捋先
回复 使用道具 举报
先给跪了。。。
回复 使用道具 举报
C语言的基础测试题吧
回复 使用道具 举报
mazhichao 发表于 2015-7-1 20:33
C语言的基础测试题吧

是的,这道题花了点时间,所以觉得还不错
回复 使用道具 举报
沙睿 来自手机 中级黑马 2015-7-2 18:09:27
7#
挺好的题!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马