求字符串s中最大连续相同字符个数?
按要求完成c函数
int MaxSameChar(char *s)
该函数计算字符串s中最大连续相同字符个数。例如,若为“aaabbbb”,则返回值为4;若为“abcde”则返回值为1。
按要求完成c函数
int MaxSameChar(char *s)
该函数计算字符串s中最大连续相同字符个数。例如,若为“aaabbbb”,则返回值为4;若为“abcde”则返回值为1。
新人没有经验,缺乏自信,麻烦写个完整的函数吧,谢谢。
我一点概念都没有,想不到用什么方法写。所以才想参考下。
[此贴子已经被作者于2007-10-6 1:25:34编辑过]
首先,你可以定义2个变量n,m
一个变量n 用于 计算现行字母 的个数
另一个变量m 用于 存储最大数
当一个连续字段完成
首先比较 n 和 m 的大小
如果n>m,m=n
反之m不变
而后n清0
至于如何判断是否执行上边程序或者说是判断一个连续字符结束
可以将字符整数化(ASCII),比较它们的整数值是否一样
不习惯使用string(用不好)
[此贴子已经被作者于2007-10-6 2:57:05编辑过]
这个可以实现,,参考一下
int MaxSameChar(char *s)
{
int i=1, n=1, m=1;
char *p;
p = s;
while (*p != '\0')
{
while (*p == *(p+i))
{
n++;
p++;
}
if (n>m)
{
m = n;
}
n = 1;
p++;
}
return m;
}
明白了,谢谢。