C 语言统计字符串中所有字符出现的次数

编写一个 C 语言程序,统计字符串中所有字符出现的次数,并附带示例。

C 语言统计字符串中所有字符出现的次数 示例 1

此程序允许用户输入一个字符串(或字符数组)和一个字符值。然后,C 程序将搜索并计算该字符在字符串中出现的总次数。

/* Count All Occurrence of a Character in a String */

#include <stdio.h>
#include <string.h>

int main()
{
char str[100], ch;
int i, Count;
Count = 0;

printf("\n Please Enter any String : ");
gets(str);

printf("\n Please Enter the Character that you want to Search for : ");
scanf("%c", &ch);

for(i = 0; i <= strlen(str); i++)
{
if(str[i] == ch)
{
Count++;
}
}
printf("\n The Total Number of times '%c' has Occured = %d ", ch, Count);

return 0;
}
C Program to Count All Occurrence of a Character in a String 1

在此程序中,我们首先使用 For 循环 迭代字符串中的每个字符。

for(i = 0; i <= strlen(str); i++)
{
	if(str[i] == ch)  
	{
		Count++;  	
	}
}

str[] = tutorial gateway
ch = t
Count = 0

For 循环第一次迭代: for(i = 0; i <= strlen(str); i++)

条件为 True,因为 0 <= 16。

C 编程 的 While 循环中,我们使用 If 语句 来检查 str[0] 是否等于用户指定的字符。

if(str[i] == ch) => if(t == t)

上述条件为 True。因此,编译器将执行 If 块内的语句。

Count++
这意味着 Count = 1

第二次迭代: for(i = 1; 1 <= 16; 1++) – 条件为 True,因为 1 <= 16。

if(str[i] == ch) => if(t == l) – 条件为 False。 因此,i 值将递增。

第三次迭代: for(i = 2; 2 <= 16; 2++)

if(str[i] == ch) => if(t == t) – 条件为 True。

Count++
这意味着 Count = 2

对剩余的迭代执行相同的操作。

C 语言统计字符串中字符出现次数的程序 示例 2

这个统计字符串中所有字符出现次数的程序与上面相同。这里,我们只是用 While 循环 替换了 For 循环。

/* Count All Occurrence of a Character in a String */

#include <stdio.h>
#include <string.h>

int main()
{
char str[100], ch;
int i, Count;
i = Count = 0;

printf("\n Please Enter any String : ");
gets(str);

printf("\n Please Enter the Character that you want to Search for : ");
scanf("%c", &ch);

while(str[i] != '\0')
{
if(str[i] == ch)
{
Count++;
}
i++;
}
printf("\n The Total Number of times '%c' has Occured = %d ", ch, Count);

return 0;
}
 Please Enter any String :  hello world

 Please Enter the Character that you want to Search for :  l

 The Total Number of times 'l' has Occured = 3

查找字符串中所有字符出现的程序 示例 3

这个 程序 与第一个示例相同,但这次我们使用了 函数 的概念来分离逻辑。

/* Count All Occurrence of a Character in a String */

#include <stdio.h>
#include <string.h>

int Count_AllCharcater(char str[], char ch);

int main()
{
char str[100], ch;
int Count;
Count = 0;

printf("\n Please Enter any String : ");
gets(str);

printf("\n Please Enter the Character that you want to Search for : ");
scanf("%c", &ch);

Count = Count_AllCharcater(str, ch);

printf("\n The Total Number of times '%c' has Occured = %d ", ch, Count);

return 0;
}

int Count_AllCharcater(char str[], char ch)
{
int i, Count;
Count = 0;

for(i = 0; i <= strlen(str); i++)
{
if(str[i] == ch)
{
Count++;
}
}
return Count;
}
 Please Enter any String :  learn c programming with many examples

 Please Enter the Character that you want to Search for :  a

 The Total Number of times 'a' has Occured = 4