由键盘任意输入10个姓名,再输入一个姓名,在此10个姓名中查找此姓名是否存在;如果存在,输出其位置。
时间: 2023-05-31 08:18:06 浏览: 140
### 回答1:
好的,我来回答你的问题。
根据你的描述,你想要通过输入任意10个姓氏,再输入一个姓氏,来查找这个姓氏是否存在于前面输入的10个姓氏中,如果存在则输出它在输入列表中的位置。
下面是一个 Python 代码示例,实现了你描述的功能:
```
# 定义一个列表,用于存储输入的10个姓氏
surnames = []
# 循环读取用户输入,最多读取10个姓氏
for i in range(10):
surname = input("请输入一个姓氏:")
surnames.append(surname)
# 读取要查找的姓氏
target_surname = input("请输入要查找的姓氏:")
# 在输入列表中查找目标姓氏
if target_surname in surnames:
index = surnames.index(target_surname)
print("姓氏", target_surname, "在输入列表中的位置是", index)
else:
print("姓氏", target_surname, "不在输入列表中。")
```
请注意,以上代码是用 Python 3 编写的,需要在支持 Python 3 的环境中运行。如果你使用的是 Python 2,需要将 `input` 改为 `raw_input`。另外,以上代码假设用户输入的姓氏都是合法的,如果用户输入了非法的字符或者空字符串,程序可能会出错,需要进行错误处理。
### 回答2:
这道题目其实就是一个简单的字符串查找问题。我们可以将输入的10个姓名存储在一个列表中,然后遍历这个列表,查找是否存在与输入的姓名相同的字符串。
首先,我们需要获取用户输入的10个姓名。可以使用Python的input()函数来实现:
```
names = []
for i in range(10):
name = input("请输入第%d个姓名:" % (i+1))
names.append(name)
```
接下来,再输入一个姓名,用于查找这个姓名是否在列表中存在:
```
check_name = input("请输入要查找的姓名:")
```
接下来,我们可以使用Python中的in关键字来查找这个姓名是否在列表中。如果存在,则输出它的位置;否则,输出不存在。
```
if check_name in names:
index = names.index(check_name)
print("%s在第%d个位置" % (check_name, index+1))
else:
print("%s不存在" % check_name)
```
最终的完整代码如下:
```
names = []
for i in range(10):
name = input("请输入第%d个姓名:" % (i+1))
names.append(name)
check_name = input("请输入要查找的姓名:")
if check_name in names:
index = names.index(check_name)
print("%s在第%d个位置" % (check_name, index+1))
else:
print("%s不存在" % check_name)
```
### 回答3:
本题要求我们编写程序实现从键盘输入10个姓名,然后输入一个姓名,再从10个姓名中查找此姓名是否存在,如果存在输出其位置。
我们可以定义一个string类型的数组names来存储10个姓名。然后通过for循环依次从键盘输入这10个姓名,存储到names数组中。接着,再从键盘输入一个要查找的姓名,存储到另一个string类型的变量name中。
为了检查要查找的姓名是否存在于names数组中,我们可以再次使用for循环从头遍历数组。在每一次遍历过程中,判断当前姓名是否与要查找的姓名相同,如果相同,则输出该姓名在数组中的位置(下标),并使用break语句跳出循环,停止继续查找。
如果遍历完整个数组,都没有找到要查找的姓名,那么说明该姓名不存在于数组中,可以通过判断未找到标记(如设为-1)来判定该结果,并输出相应的提示信息。
示例代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string names[10];
string name;
int index = -1; // 未找到标记,设为-1
// 输入10个姓名,存储到names数组中
for (int i = 0; i < 10; i++)
{
cout << "请输入第" << (i + 1) << "个姓名:";
cin >> names[i];
}
// 输入要查找的姓名
cout << "请输入要查找的姓名:";
cin >> name;
// 在names数组中查找要查找的姓名
for (int i = 0; i < 10; i++)
{
if (names[i] == name)
{
index = i; // 记录找到的位置
break; // 跳出查找
}
}
// 输出查找结果
if (index != -1)
{
cout << "姓名" << name << "在数组中的位置为:" << index << endl;
}
else
{
cout << "姓名" << name << "不存在于数组中。" << endl;
}
return 0;
}
```
运行程序后,依次输入10个姓名,再输入要查找的姓名,即可得到相应的查找结果。本题通过实现简单的数组遍历和比较,使我们更好地理解了数组的基本操作。
阅读全文