用C语言由键盘任意输入10个姓名存放到二维数组中,再输入一个姓名,在此10个姓名中查找此姓名是否存在,如果存在,输出其位置(允许使用字符串函数strcmp)。
时间: 2024-05-11 08:15:52 浏览: 89
好的,我可以回答你的问题。
以下是实现的C代码:
```c
#include<stdio.h>
#include<string.h>
#define SIZE 10
#define MAX_NAME_LENGTH 20
int main()
{
char names[SIZE][MAX_NAME_LENGTH]; // 声明一个二维字符数组保存10个姓名,每个姓名最大长度为20
char target[MAX_NAME_LENGTH]; // 声明一个字符数组保存目标姓名
int i, index = -1; // index初始值为-1,表示目标姓名不存在
// 输入10个姓名
for (i = 0; i < SIZE; i++) {
printf("请输入第%d个姓名:", i+1);
scanf("%s", names[i]);
}
// 输入目标姓名
printf("请输入目标姓名:");
scanf("%s", target);
// 在10个姓名中查找目标姓名
for (i = 0; i < SIZE; i++) {
if (strcmp(names[i], target) == 0) { // 找到目标姓名
index = i; // 记录目标姓名的位置
break; // 结束循环
}
}
if (index == -1) { // 目标姓名不存在
printf("%s不存在!", target);
} else { // 目标姓名存在
printf("%s的位置在第%d个。", target, index+1);
}
return 0;
}
```
这段代码可以实现你的要求:先由键盘输入10个姓名,保存到一个二维字符数组中;再输入一个目标姓名,查找此姓名是否在10个姓名中存在,如果存在,输出其位置。程序判断目标姓名是否存在使用了字符串函数strcmp。
阅读全文