编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。

来源:互联网 发布:elite骑行台软件下载 编辑:程序博客网 时间:2024/04/23 18:56

我没有用到数组, 因为我觉得数组太扯淡,定义数组需要知道数组的空间大小,对于随便一个字符串并不能准确定义数组空间来存放 空格数 或者 标 或者 单词.定义大了浪费内存定义小了不够;

如果按照题意用可以用二维数组轻松办到;  

还请大神教我不用数组可以办到的,使代码复用高点.我的不太好.    


char str[] ="wi xi huan ni";

       int k = -1,a =0;

        unsignedint i = 0,b =0 ;

       while (k == -1 || i <sizeof(str))  {

           k++;


    

          if (a < k){

    

               a = k;

                b = i;

    

            }

           if  (str[i] == ' ' || str[i] =='\0') {

                k = -1;

    

            }

            i++;

        }

       printf("最长的单词是:\n");

       for (int j =0 ; j <= a; j++) {

           printf("%c",str[b - a +j]);

            

        }




0 0
原创粉丝点击