c语言找最贵的书和最便宜的书
时间: 2023-07-14 10:12:54 浏览: 94
要实现这个功能,你需要有一个包含书名、作者、价格等信息的书籍清单。然后可以使用 C 语言中的数组和循环来查找最贵的书和最便宜的书。
以下是一个简单的示例代码,假设书籍清单已经存在,并且包含了以下字段:书名、作者、价格。
```c
#include <stdio.h>
#include <string.h>
struct Book {
char title[50];
char author[50];
float price;
};
int main() {
struct Book books[] = {
{"C Programming Language", "Brian W. Kernighan, Dennis M. Ritchie", 18.99},
{"The C Programming Language", "Brian W. Kernighan, Dennis M. Ritchie", 29.99},
{"Programming in C", "Stephen G. Kochan", 23.99},
{"C Primer Plus", "Stephen Prata", 34.99},
{"Head First C", "David Griffiths, Dawn Griffiths", 43.99}
};
int n = sizeof(books) / sizeof(books[0]);
float min_price = books[0].price, max_price = books[0].price;
int i, min_idx = 0, max_idx = 0;
for (i = 1; i < n; i++) {
if (books[i].price > max_price) {
max_price = books[i].price;
max_idx = i;
}
if (books[i].price < min_price) {
min_price = books[i].price;
min_idx = i;
}
}
printf("The most expensive book is:\n");
printf("Title: %s\nAuthor: %s\nPrice: $%.2f\n", books[max_idx].title, books[max_idx].author, books[max_idx].price);
printf("The cheapest book is:\n");
printf("Title: %s\nAuthor: %s\nPrice: $%.2f\n", books[min_idx].title, books[min_idx].author, books[min_idx].price);
return 0;
}
```
运行以上代码,输出结果如下:
```
The most expensive book is:
Title: Head First C
Author: David Griffiths, Dawn Griffiths
Price: $43.99
The cheapest book is:
Title: C Programming Language
Author: Brian W. Kernighan, Dennis M. Ritchie
Price: $18.99
```
以上代码中,我们使用了一个结构体 `Book` 来存储每本书的信息,然后定义了一个包含若干本书的数组 `books`。接下来使用循环遍历整个数组,查找最贵的书和最便宜的书。最后输出结果。