c++输入10个学生的姓名,再输入一个字符串,查找该字符串是否是某个学生的姓名,如果是,则输出是第几个(从1开始)学生的姓名,如果不是,则输出“It is not a name.”
时间: 2023-06-12 12:04:04 浏览: 76
C++实现从输入中读取字符串
以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 20
#define MAX_STUDENT_NUM 10
int main() {
char names[MAX_STUDENT_NUM][MAX_NAME_LEN];
char target[MAX_NAME_LEN];
int i, index = -1;
// 输入学生姓名
printf("请输入 %d 个学生的姓名:\n", MAX_STUDENT_NUM);
for (i = 0; i < MAX_STUDENT_NUM; i++) {
scanf("%s", names[i]);
}
// 输入目标字符串
printf("请输入一个字符串:\n");
scanf("%s", target);
// 查找目标字符串是否是某个学生姓名
for (i = 0; i < MAX_STUDENT_NUM; i++) {
if (strcmp(names[i], target) == 0) {
index = i;
break;
}
}
// 输出结果
if (index >= 0) {
printf("%s 是第 %d 个学生的姓名。\n", target, index + 1);
} else {
printf("It is not a name.\n");
}
return 0;
}
```
其中,`names` 数组存储了 10 个学生的姓名,`target` 存储了目标字符串,`index` 记录目标字符串在 `names` 数组中的索引(如果找到了),初始值为 -1。使用 `scanf` 函数分别读入学生姓名和目标字符串,使用 `strcmp` 函数比较字符串是否相等。最后根据 `index` 的值输出结果。
阅读全文