用c语言写一个最受欢迎图书函数代码
时间: 2024-03-26 13:38:11 浏览: 13
好的,以下是用C语言编写的获取最受欢迎图书的函数代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
#define MAX_NAME_LENGTH 50
typedef struct {
char name[MAX_NAME_LENGTH];
int popularity;
} Book;
Book books[MAX_BOOKS];
int num_books = 0;
void add_book(char* name, int popularity) {
if (num_books >= MAX_BOOKS) {
printf("Error: Too many books!\n");
return;
}
strcpy(books[num_books].name, name);
books[num_books].popularity = popularity;
num_books++;
}
Book get_most_popular_book() {
if (num_books == 0) {
printf("Error: No books available!\n");
exit(1);
}
int max_popularity = books[0].popularity;
int max_index = 0;
for (int i = 1; i < num_books; i++) {
if (books[i].popularity > max_popularity) {
max_popularity = books[i].popularity;
max_index = i;
}
}
return books[max_index];
}
int main() {
add_book("The Great Gatsby", 10);
add_book("To Kill a Mockingbird", 8);
add_book("1984", 5);
add_book("Pride and Prejudice", 12);
Book most_popular_book = get_most_popular_book();
printf("The most popular book is %s with a popularity score of %d.\n", most_popular_book.name, most_popular_book.popularity);
return 0;
}
```
这个函数使用了一个结构体 `Book` 来表示每一本书的信息,包括书名和受欢迎程度。它还定义了一个数组 `books` 来存储所有的书,以及一个变量 `num_books` 来记录当前有多少本书。函数 `add_book` 用于向 `books` 中添加新书,函数 `get_most_popular_book` 用于获取最受欢迎的书。我们在 `main` 函数中添加了一些书,并输出了最受欢迎的书的信息。