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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wwpower 中级黑马   /  2015-11-24 21:54  /  697 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天看到一道基础题,给一个字符串,含有空格分隔成若干个子字符串,类似于“aa  bbb cc”;
要求用C语言求最长的子字符串;想了一个实现思路:
1,用字符数组arr[]来存放字符串;
2,定义变量记录字符串长度int max=0,定义变量记录当前指向的字符角标位置int k=0。
3,循环嵌套:外层循环控制整个字符数组前移,直到“\0”,结束。定义变量int i = 0;i++;为当前数组元素下标。
内层循环判断不为空格时,定义一个计数器自增,当为空格时,将此时计数器的值与记录字符串长度比较,如果此时的值大,就赋给字符串长度max.并将此时角标位置i赋给k;
4,循环结束:取arr[j-max]到arr[j]这段字符串就是最长字符串。
思路有些冗杂,哪位大牛有其他实现思路可以交流下。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马