请用C语言写出程序从键盘输入 n(n<10)本书的名称和定价(用结构体类型的数组表示),从中查找定价最高和最低的书的名称和定价,并输出。试编写相应程序。 项目2 计算平均成绩
时间: 2024-03-17 14:43:24 浏览: 55
好的,这是一个 C 语言的示例代码,实现了你的第一个问题:
```c
#include <stdio.h>
#include <string.h>
struct Book {
char name[50]; // 书名
double price; // 定价
};
int main() {
const int n = 5; // 书的数量
struct Book books[n]; // 定义结构体数组
// 从键盘输入书名和定价
for (int i = 0; i < n; i++) {
printf("请输入第%d本书的名称和定价:", i+1);
scanf("%s %lf", books[i].name, &books[i].price);
}
// 查找定价最高和最低的书
int maxIndex = 0, minIndex = 0;
for (int i = 1; i < n; i++) {
if (books[i].price > books[maxIndex].price) {
maxIndex = i;
}
if (books[i].price < books[minIndex].price) {
minIndex = i;
}
}
// 输出结果
printf("定价最高的书是:%s,定价为%.2f\n", books[maxIndex].name, books[maxIndex].price);
printf("定价最低的书是:%s,定价为%.2f\n", books[minIndex].name, books[minIndex].price);
return 0;
}
```
这个程序与 C++ 的示例代码类似,只是将 `string` 类型换成了 `char` 数组,同时使用了 `scanf` 函数来输入数据。其他部分的逻辑和处理方式与 C++ 版本相同。
至于你的第二个问题,我需要更多的信息,比如需要计算哪些科目的平均成绩,成绩的存储方式是什么等等。请提供更具体的问题描述,我会尽力为你提供帮助。