c++实现输入10个学生的姓名,再输入一个字符串,查找该字符串是否是某个学生的姓名,如果是,则输出是第几个(从1开始)学生的姓名,如果不是,则输出“It is not a name.”
时间: 2023-06-12 13:03:57 浏览: 58
C++实现从输入中读取字符串
下面是一个简单的 C 代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 20
#define STUDENT_NUM 10
int main()
{
char students[STUDENT_NUM][MAX_LEN];
char search_name[MAX_LEN];
int i;
// 输入学生姓名
printf("Please input the names of 10 students:\n");
for (i = 0; i < STUDENT_NUM; i++) {
scanf("%s", students[i]);
}
// 输入搜索字符串
printf("\nPlease input a name to search:\n");
scanf("%s", search_name);
// 查找学生姓名
for (i = 0; i < STUDENT_NUM; i++) {
if (strcmp(students[i], search_name) == 0) {
printf("The name \"%s\" is the %dth student's name.\n", search_name, i + 1);
return 0;
}
}
// 没有找到匹配的学生姓名
printf("It is not a name.\n");
return 0;
}
```
上面的代码中,我们使用了一个二维数组 `students` 来存储 10 个学生的姓名,每个姓名的最大长度为 `MAX_LEN`。然后,我们依次输入这 10 个学生的姓名,并且使用一个字符串数组 `search_name` 存储需要搜索的字符串。
接下来,我们使用 `strcmp()` 函数来比较每个学生姓名和搜索字符串是否相等。如果找到了匹配的学生姓名,就输出该学生是第几个学生,并且结束程序。如果没有找到匹配的学生姓名,就输出提示信息。
注意,上面的代码中没有进行输入的合法性检查,如果输入的字符串长度超过了 `MAX_LEN`,程序可能会出错。在实际应用中,需要对输入进行检查和处理,以确保程序的正确性和稳定性。
阅读全文