用C语言写由键盘任意输入10个姓名存放到二维数组中,再输入一个姓名,在此10个姓名中查找此姓名是否存在,如果存在,输出其位置(允许使用字符串函数strcmp)。
时间: 2024-05-07 15:16:51 浏览: 96
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
好的,您提出的问题是关于使用C语言编写一个从键盘输入10个姓名,并在二维数组中查找姓名的程序。
下面是一个可能的解决方案:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAMES 10
#define MAX_NAME_LEN 20
int main() {
char names[MAX_NAMES][MAX_NAME_LEN];
char search_name[MAX_NAME_LEN];
int i, found = 0;
// 从键盘读取10个姓名
for (i = 0; i < MAX_NAMES; i++) {
printf("请输入第 %d 个姓名: ", i + 1);
scanf("%s", names[i]);
}
// 搜索姓名
printf("请输入要搜索的姓名: ");
scanf("%s", search_name);
for (i = 0; i < MAX_NAMES; i++) {
if (strcmp(names[i], search_name) == 0) {
printf("%s 在第 %d 个位置\n", search_name, i + 1);
found = 1;
break;
}
}
if (!found) {
printf("%s 没有找到\n", search_name);
}
return 0;
}
```
这个程序中,我们使用一个二维字符数组 `names` 来存储最多10个长度不大于20的姓名。首先我们通过一个循环从键盘读取这些姓名。接下来,我们输入一个要搜索的姓名,遍历整个 `names` 数组,使用 `strcmp` 函数比较每个姓名是否等于要搜索的姓名,如果找到了,输出其位置并结束查询,否则输出未找到的信息。
希望这能解决您的问题!
阅读全文