用C语言编写编写程序实现在一个字符串中查找指定的字符,并输入指定的字符在字符串中出现的次数及位置,如果字符串中不包含指定的字符,请输出提示信息。
时间: 2024-05-11 15:17:20 浏览: 93
好的,这是一个比较简单的字符串查找程序,可以通过循环逐个字符地判断字符串中是否包含指定的字符,并统计出现的次数和位置。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char ch;
int count = 0;
printf("请输入一个字符串:\n");
gets(str);
printf("请输入要查找的字符:\n");
scanf("%c", &ch);
printf("查找结果:\n");
for (int i = 0; i < strlen(str); i++) {
if (str[i] == ch) {
printf("字符 %c 出现在字符串中的位置为 %d\n", ch, i + 1);
count++;
}
}
if (count == 0) {
printf("字符串中不包含指定的字符!\n");
} else {
printf("字符 %c 在字符串中出现了 %d 次\n", ch, count);
}
return 0;
}
```
输入一个字符串和一个字符后,程序会逐个字符地遍历字符串,如果发现字符等于指定的字符,则输出该字符在字符串中出现的位置,并增加计数器,最后根据计数器的值输出出现次数或未找到提示信息。
相关问题
利用C语言编写一个程序要求:输入一个字符串,统计字符串中指定字符出现次数并输出
以下是利用C语言编写一个程序,实现输入一个字符串,统计字符串中指定字符出现次数并输出的功能:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
char target;
int count = 0;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要统计的字符:");
scanf(" %c", &target);
for (int i = 0; i < strlen(str); i++)
{
if (str[i] == target)
{
count++;
}
}
printf("字符 %c 在字符串 %s 中出现了 %d 次。\n", target, str, count);
return 0;
}
```
运行程序后,会先要求输入一个字符串,再要求输入要统计的字符,程序会自动遍历字符串中的每一个字符,如果该字符等于要统计的字符,计数器就加1,最后输出统计结果。
c语言编写程序查找一个字符串在另一个字符串中出现的次数,使用递归
好的,以下是一个使用递归来查找一个字符串在另一个字符串中出现次数的示例程序,使用C语言编写:
```c
#include <stdio.h>
int count_occurrences(char *text, char *pattern) {
if (*text == '\0')
return 0;
else if (strncmp(text, pattern, strlen(pattern)) == 0)
return 1 + count_occurrences(text + strlen(pattern), pattern);
else
return count_occurrences(text + 1, pattern);
}
int main() {
char text[] = "abababa";
char pattern[] = "aba";
printf("字符串 '%s' 在 '%s' 中出现的次数为: %d\n", pattern, text, count_occurrences(text, pattern));
return 0;
}
```
在这个程序中,`count_occurrences` 函数使用递归来查找字符串 `pattern` 在字符串 `text` 中出现的次数。它首先检查 `text` 是否已经到达字符串结尾,如果是则返回 0。然后,它使用 `strncmp` 函数来比较 `text` 和 `pattern` 的前缀,并检查它们是否相等。如果相等,则返回 1 加上递归调用 `count_occurrences` 函数在剩余部分中查找出现次数。如果不相等,则递归调用 `count_occurrences` 函数在 `text` 的下一个字符开始的位置继续查找出现次数。
在上述示例中,字符串 "aba" 在字符串 "abababa" 中出现的次数为 2。