黑马程序员技术交流社区

标题: 字符串中最大字符串长度 [打印本页]

作者: flora时光    时间: 2016-4-9 22:54
标题: 字符串中最大字符串长度
还有没有其他更好的方法可以得到字符串中最大字符串长度???

  1. #include<stdio.h>
  2. #include<string.h>
  3. //定义函数如果是字母返回值1,
  4. int alpha(char c)
  5. {
  6.     if(c>='a'&&c<='z'||c>='A'&&c<='Z')
  7.         return 1;
  8.     else
  9.         return 0;
  10. }
  11. int main()
  12. {
  13.     int i;
  14.     int point;//每个单词开始的位置
  15.     int pointer;
  16.     int place;//保存每次比较后最长单词的位置
  17.     int len;//统计每个单词长度
  18.     int length;//保存比较后最长的单词长度
  19.     int num;//单词数量
  20.     char str[1001];
  21.     printf("请输入一个字符串:\n");
  22.     while(gets(str))
  23.     {
  24.         int flag=1;//是个旗帜,判断是空格还是单词
  25.         len=length=num=0;
  26.         for(i=0;i<=strlen(str);i++)
  27.         {
  28.             if(!alpha(str[i]))//str[i]是空格
  29.             {
  30.                 if(len>length)
  31.                 {
  32.                     length=len;
  33.                     place=point;
  34.                 }
  35.                 flag=1;
  36.                 len=0;
  37.             }
  38.             else//不是空格
  39.             {
  40.                 if(flag)
  41.                 {
  42.                     point=i;
  43.                     num++;
  44.                 }
  45.                 len++;
  46.                 flag=0;

  47.             }
  48.         }
  49.         printf("最大字符串是:");
  50.         for(i=place;i<place+length;i++)
  51.             {
  52.                 printf("%c",str[i]);
  53.             }
  54.         printf("\n");
  55.         printf("最大字符串长度:%d\n",length);
  56.         printf("单词个数:%d\n",num);
  57.         break;

  58.     }

  59.     return 0;
  60. }

复制代码



作者: x_starry    时间: 2016-4-9 23:42
研究中!!
作者: 毛小猪    时间: 2016-4-15 22:58
值得研究研究
作者: TGII    时间: 2016-5-4 00:11
很吊啊,这题目还是右难度的
作者: wanli316644570    时间: 2016-5-4 00:14
值得研究 加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2