黑马程序员技术交流社区

标题: 输入一个字符串长度(含有空格),打印最大字符串解析 [打印本页]

作者: Tactful丶boy    时间: 2015-11-25 20:51
标题: 输入一个字符串长度(含有空格),打印最大字符串解析
//给一个字符串,含有空格分隔成若干个子字符串,类似于“aa  bbb cc”;
// 要求用C语言求最长的子字符串;
//解题思路
//1)定义一个含有空格的字符串
//2)定义一个计数器,计算空格的长度,没到遇到空格时,重置计数器
//3)同时记录最大长度,同时标记数组的下标
//4)用for循环循环字符串数组,当遇到'\0',结束
//5)打印最长字符串 其实位置为标记的下标减去最大长度

#include <stdio.h>

int main(int argc, const char * argv[]) {
    char arrlen[100]="adcdd ddddddd daa";//定义一个字符串数组
    int count=0;//计数器
    int Maxcount=0;//最大长度
    int j=0;//标记下标
    for (int i=0; arrlen!='\0'; i++) {
        if (arrlen!=' ') {//当数组元素不等于零的时候计数器自增
            count++;


            }
        else {
            if (count>Maxcount) {//取最大字符串长度
                Maxcount=count;
                j=i;}//标记下标
            count=0;//重置计数器

        }


    }

    for (int k=j-Maxcount; k<j; k++) {
        printf("%c",arrlen[k]);
    }
    printf("\n");

    return 0;
}
本题是根据自己思路做出来的,不知道大家有没有更好的方法






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