编写函数intsearch(char *cpSource, char ch),该函数在一个字符串中找到可能的最长的子字符串,该字符串是由同一字符组成的。从主函数中输入"aabbcccddddeeeeeffffff"和'e',调用函数得到结果。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int search(char* cpSource, char ch);
int main()
{
char cpSource[100];
char ch;
int len; //用于记录连续最长子字符串长度
scanf("%s", cpSource);
scanf(" %c", &ch); //%c前预留一个空格,以防读入换行符
len = search(cpSource, ch); //调用函数获取长度
for (int i = 0; i < len; i++) //打印子字符串
printf("%c", ch);
printf("\n");
return 0;
}
/*函数功能:返回最长子字符串的长度*/
int search(char* cpSource, char ch)
{
int max_len = 0;
int cur_len = 0;
while (*cpSource != '\0') //遍历字符串
{
if(*cpSource == ch) //当寻找到目标字符时
{
cur_len++;
if (cur_len > max_len)
max_len = cur_len;
}
else
cur_len = 0;
cpSource++;
}
return max_len;
}