自定义程序以支持用户输入
你可以自定义程序,允许用户输入名称到数组中并搜索名称。这可以通过 C 编程中的 scanf()
函数实现。
#include <stdio.h>
#include <string.h>
#define MAX_NAMES 100
int search(char *ptr[], char* name);
int main(void)
{
char *names[MAX_NAMES];
char name[50];
int count = 0;
printf("输入名称(按回车键结束):\n");
// 从用户输入获取名称
while(1)
{
scanf("%s", name);
if(strcmp(name, "") == 0)
{
break;
}
names[count] = (char*) malloc(strlen(name)+1);
strcpy(names[count], name);
count++;
}
names[count] = NULL; // 使用空指针标记数组结尾
// 搜索名称
while(1)
{
printf("输入要搜索的名称(按回车键结束):\n");
scanf("%s", name);
if(strcmp(name, "") == 0)
{
break;
}
int index = search(names, name);
if(index != -1)
{
printf("%s 在索引 %d 中找到。\n", name, index);
}
else
{
printf("%s 未找到。\n", name);
}
}
return 0;
}
// 定义搜索函数
int search(char *ptr[], char*name)
{
for(int i=0; ptr[i]; ++i)
{
if(!strcmp(ptr[i], name))
{
return i;
}
}
return -1; // 未找到名称
}