gpt4 book ai didi

c - 如何在c中实现包含书名的数组中的搜索

转载 作者:行者123 更新时间:2023-11-30 17:51:58 24 4
gpt4 key购买 nike

我有这个结构数组

struct BookInfo
{
char title[50];
int numAuthors;
char authors[50][50];
int year;
int checkedout;
};

struct BookInfo library[500];

我正在尝试弄清楚如何实现搜索,用户可以键入一个单词,该功能将打印该书的整个名称例如,在 char title 中,两本书是

a rose for emily
war of the worlds

如果用户输入 worlds,函数将打印

war of the worlds

如何解决这个问题,我见过使用 int 进行线性搜索,但没有使用 char 数据类型

最佳答案

这是代码。它使用 strstr() 将关键字与列表中的标题进行匹配。为了方便测试代码,我只有 title 字段在 BookInfo 中,我将 library 中的项目数量限制为 5。

#include<stdio.h>
#include<string.h>

struct BookInfo
{
char title[50];
};

struct BookInfo library[5];

int main()
{
int i,j=0;
char keyword[50];

//Getting the titles of books from librarian

for(i=0; i<5; i++)
{
printf("Enter book no.%d ",i+1);
gets(library[i].title);
}
// Search based on keyword

printf("Enter the title keyword to search\n");
gets(keyword);
for(i=0; i<5; i++)
{
if(strstr(library[i].title,keyword)==NULL)
j++;

else
printf("Book to have the word %s in title is %s\n",keyword,library[i].title);

}
if(j==0)
printf("No book with given title/keyword");
}

输出

Enter book no.1 The importance of religion

Enter book no.2 Why sex sells

Enter book no.3 Origin of species

Enter book no.4 Are you obsessed with sex?

Enter book no.5 Why are programmers sexy

Enter the title keyword to search sex

Book to have the word sex in title is Why sex sells

Book to have the word sex in title is Are you obsessed with sex?

Book to have the word sex in title is Why are programmers sexy

关于c - 如何在c中实现包含书名的数组中的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16412088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com