练习7-10 查找指定字符 (15 分)
时间: 2023-05-31 10:18:48 浏览: 176
### 回答1:
题目描述
本题要求实现一个函数,找到并返回字符串中第一个出现的某个指定字符的位置。若不存在,则返回一个特殊的标记“-1”。
函数接口定义:
int findChar( const char *s, char c );
其中字符串s和字符c的定义如下:
char s[MAXSLEN], c;
函数findChar应返回字符串s中第一个出现的字符c的位置,即下标(下标从开始),如果找不到字符c,则返回-1。
裁判测试程序样例:
#include <stdio.h>
#define MAXSLEN 80
int findChar( const char *s, char c );
int main()
{
char s[MAXSLEN], c;
int p;
scanf("%s %c", s, &c);
p = findChar(s, c);
if (p==-1) printf("Not Found\n");
else printf("index = %d\n", p);
return ;
}
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
r
输出样例:
index = 2
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
输入样例:
programming
i
输出样例:
index = 4
输入样例:
programming
n
输出样例:
index = 5
输入样例:
programming
a
输出样例:
Not Found
输入样例:
programming
o
输出样例:
index = 1
输入样例:
programming
g
输出样例:
index = 3
输入样例:
programming
m
输出样例:
index = 7
输入样例:
programming
z
输出样例:
Not Found
输入样例:
programming
p
输出样例:
index =
### 回答2:
这道题要求我们使用循环查找指定字符,并输出该字符在字符串中出现的次数和第一次出现的位置。
首先,我们需要输入任意一个字符串和指定字符。然后,我们使用一个for循环来遍历整个字符串,每当遍历到指定字符时,就让计数器加一,同时记录该位置。
最后,我们输出计数器的值和第一次出现的位置。需要注意的是,如果指定字符在字符串中不存在,我们需要给出相应的提示信息。
代码实现如下:
```
str = input('请输入一个字符串:')
char = input('请输入要查找的字符:')
count = 0
position = -1 # 初始化为-1,表示不存在该字符
for i in range(len(str)):
if str[i] == char:
count += 1
if position == -1:
position = i
if count == 0:
print('指定字符未在字符串中出现')
else:
print('指定字符在字符串中出现了', count, '次')
print('第一次出现的位置是', position)
```
这样,我们就可以通过简单的循环实现查找指定字符的功能了。需要注意的是,这里使用了一个计数器和一个记录位置的变量,在实际编写中也可以直接使用Python内置函数count()和find()实现相应的功能。
### 回答3:
本题目要求根据输入的字符串和指定的字符,查找在字符串中出现指定字符的位置,并输出位置的序号。这道题目可以使用 for 循环或者 while 循环来进行解答。
首先,我们需要输入字符串和指定字符:
```python
s = input("请输入字符串:")
c = input("请输入指定字符:")
```
接着,我们需要使用一个变量 index 来记录指定字符出现的位置:
```python
index = -1
```
假设我们要查找的字符为 c,在字符串 s 中的位置为 i,我们可以使用 for 循环来遍历整个字符串 s:
```python
for i in range(len(s)):
if s[i] == c:
index = i
break
```
在循环中,我们每次都将字符串 s 中的字符与指定字符 c 进行比较,如果匹配成功,就将 index 记录为当前位置 i,并且可以直接跳出循环,因为只需找到第一个位置即可。
如果没有找到指定字符,那么 index 的值不会被修改,因此最后可以根据 index 的值来判断是否找到了指定字符:
```python
if index == -1:
print("未找到指定字符")
else:
print("指定字符在字符串中的位置为:", index)
```
完整的代码如下:
```python
s = input("请输入字符串:")
c = input("请输入指定字符:")
index = -1
for i in range(len(s)):
if s[i] == c:
index = i
break
if index == -1:
print("未找到指定字符")
else:
print("指定字符在字符串中的位置为:", index)
```
本题目要点为字符串的查找和循环操作,要注意在循环中使用 break 来跳出循环,以达到查找的目的。同时要注意判断未找到指定字符的情况。