已知一个字符串,设计一个算法。求出该串中某个字符出现的次数。用c语言表示完整代码。
时间: 2024-10-20 16:02:25 浏览: 29
在 C 语言中,你可以使用标准库函数 `strchr()` 和 `strlen()` 来遍历字符串并计算特定字符出现的次数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
int count_char(char *str, char ch) {
int count = 0;
while (str != NULL) {
if (*str == ch) {
count++;
}
str = strchr(str + 1, ch);
}
return count;
}
int main() {
char str[] = "Hello, World!";
char ch = 'o';
int occurrences = count_char(str, ch);
printf("字符 '%c' 在字符串 '%s' 中出现了 %d 次.\n", ch, str, occurrences);
return 0;
}
```
这个程序首先定义了一个名为 `count_char` 的函数,它接收一个字符串 `str` 和一个字符 `ch`,然后通过 `strchr()` 函数逐个查找字符,并在找到时增加计数。最后,在主函数中我们传入一个例子字符串和需要查找的字符,打印出它们在字符串中的出现次数。
相关问题
已知一个字符串,设计一个算法,求出该串中某个字符串出现的次数,用c语言表示完整代码
在C语言中,可以使用`strchr()`函数配合循环结构来计算一个字符串中另一个子串出现的次数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
int count_occurrences(char *haystack, char *needle) {
int count = 0;
while (haystack != NULL) {
if (strstr(haystack, needle) != NULL) { // 使用strstr查找子串
count++; // 找到就加1
haystack += strlen(needle); // 移动指针到下一个潜在的位置
} else {
haystack = strchr(haystack, '\0'); // 如果没找到就查找下一个字符
}
}
return count;
}
int main() {
char str[] = "Hello, World! Hello again!";
char substr[] = "Hello";
printf("'%s' 出现了 %d 次\n", substr, count_occurrences(str, substr));
return 0;
}
```
这个`count_occurrences`函数会返回`substr`在`str`中出现的次数。注意,由于C语言字符串以空字符`\0`结束,所以在找不到子串时,我们会检查下一个空字符。
c语言已知一个字符串,设计一个算法,求出该串中某个字符出现的次数
在C语言中,你可以通过遍历整个字符串并统计特定字符出现的次数来实现这个功能。下面是一个简单的算法:
```c
#include <stdio.h>
#include <string.h>
int count_char(char* str, char ch) {
int count = 0;
while (*str != '\0') { // 遍历直到字符串结束
if (*str == ch) { // 如果当前字符等于目标字符
count++; // 增加计数
}
str++; // 移动到下一个字符
}
return count; // 返回字符出现的次数
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 从用户输入获取字符串
input[strcspn(input, "\n")] = '\0'; // 去除换行符
char target_char;
printf("请输入你要查找的字符: ");
scanf("%c", &target_char);
int result = count_char(input, target_char);
printf("字符 '%c' 在字符串中出现了 %d 次.\n", target_char, result);
return 0;
}
```
在这个程序中,`count_char`函数接收一个字符串和一个字符作为输入,然后逐个检查字符串中的每个字符,如果遇到目标字符就增加计数器。当遍历完整个字符串后,返回计数器的值即为目标字符出现的次数。
阅读全文