【问题描述】 编写一个程序,输入一个字符串str(长度不超过30)和一个字符ch,通过指针查找、统计字符串str中字符ch出现的位置(区分大小写)。 【输入形式】 输入一个字符串str,以及一个字符ch 【输出形式】 若ch在str中存在,输出位置,位置之间以空格分隔 若ch在str中不存在,输出NULL 输出后面无换行符 【样例输入1】 Shanghaijiaotongdaxue h 【样例输出1】 1 5 【样例输入2】 Helloworld @ 【样例输出2】 NULL 用c语言写
时间: 2023-11-22 09:56:26 浏览: 37
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[31], ch;
scanf("%s %c", str, &ch);
int len = strlen(str);
int flag = 0; // 标记是否存在 ch
for (int i = 0; i < len; i++) {
if (str[i] == ch) {
flag = 1; // 存在 ch
printf("%d ", i);
}
}
if (!flag) printf("NULL"); // 不存在 ch
return 0;
}
```
相关问题
编写一个程序,输入一个字符串str和一个字符ch,通过指针查找,统计字符串str中ch出现的位置
下面是一个 C++ 的程序实现:
```c++
#include <iostream>
using namespace std;
void findChar(char* str, char ch) {
int count = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == ch) {
count++;
cout << "字符" << ch << "出现在第" << i+1 << "个位置" << endl;
}
}
if (count == 0) {
cout << "字符" << ch << "在字符串中未出现" << endl;
}
}
int main() {
char str[100], ch;
cout << "请输入一个字符串:";
cin.getline(str, 100);
cout << "请输入一个字符:";
cin >> ch;
findChar(str, ch);
return 0;
}
```
程序首先输入一个字符串和一个字符,然后通过指针遍历字符串,统计字符出现的次数并输出其位置。如果字符在字符串中未出现,则输出提示信息。
编写一个程序,输入一个字符串str和一个字符ch,通过指针查找,统计字符串str中字符ch出现的位置
下面是一个示例程序,实现了输入一个字符串和一个字符,然后通过指针查找,统计字符串中字符出现的位置:
```c
#include <stdio.h>
#include <string.h>
void find_char(const char *str, char ch);
int main()
{
char str[100], ch;
printf("请输入字符串:");
gets(str);
printf("请输入要查找的字符:");
scanf("%c", &ch);
find_char(str, ch);
return 0;
}
void find_char(const char *str, char ch)
{
int count = 0;
const char *p = str;
while (*p)
{
if (*p == ch)
{
printf("%d ", p - str);
count++;
}
p++;
}
if (count == 0)
{
printf("未找到该字符");
}
else
{
printf("\n共找到%d个字符", count);
}
}
```
运行程序后,输入一个字符串和一个字符,程序会输出该字符在字符串中出现的位置,如果没有找到该字符,则输出提示信息。