黑马程序员技术交流社区
标题: 输入一个字符串长度(含有空格),打印最大字符串解析 [打印本页]
作者: 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 |