编写一个 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;
}

在此程序中,我们首先使用 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