我有一个功能
letter_counting(char * s1,char letter)
我希望发送到功能句并且用户输入字母
该功能必须是搜索并计算在句子中出现的次数**
使用指针不使用动态内存
这是所有代码
#include "letter_count.h"
letter_count::letter_count()
{
counter = 0;
}
void letter_count::Set_count(int Count)
{
counter = Count;
}
int letter_count::Get_count()
{
return counter;
}
void letter_count::letter_counting(char * s1,char letter)
{
//help me here.
}
答案 0 :(得分:1)
例如,成员函数可以定义为
void letter_count::letter_counting( const char *s1, char letter )
{
for ( ; *st; ++st )
{
if ( *st == letter ) ++counter;
}
}
或
void letter_count::letter_counting( const char *s1, char letter )
{
for ( ; *st; ++st )
{
counter += *st == letter;
}
}
或
void letter_count::letter_counting( const char *s1, char letter )
{
while ( *st )
{
counter += *st++ == letter;
}
}
等包括标准算法std::count
答案 1 :(得分:0)
我不明白为什么你在如此简单的情况下玩物体。如果我是你,我会写:
unsigned letter_count(const char*const text, const char letter){
unsigned counter=0;
for(unsigned i=0; text[i]!='\0'; ++i)
if(text[i]==letter)
++counter;
return counter;
}
或者,如果您更喜欢指针:
unsigned letter_count(char*const text, const char letter){
unsigned counter=0;
for(; *text!='\0'; ++text)
if(*text==letter)
++counter;
return counter;
}
另外,在每种情况下,我都建议你写一些额外的功能来轻松处理std::string
:
inline unsigned letter_count(const std::string& text, const char letter){
return letter_count(text.c_str(), letter);
}
如果会鼓励对代码发表一些评论,请告诉我您认为我应该发表什么评论。