c-moodle/homework/11979.c

39 lines
1.3 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 头文件
#include <stdio.h>
// 水果信息结构体
struct fruitinfo {
int id; // 编号(整型)
char name[21]; // 名称字符串最多20个字符
float sales; // 销量(浮点型)
float price; // 单价(浮点型)
};
// 主函数
int main() {
// 声明6个水果信息结构体变量存储6种水果的信息
struct fruitinfo fruit[6];
// 输入6种水果的信息
for (int i = 0; i < 6; i++) {
scanf("%d %s %f %f", &fruit[i].id, fruit[i].name, &fruit[i].sales, &fruit[i].price);
}
// 冒泡排序(按照销售额从小到大排序)
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 5 - i; j++) {
if (fruit[j].sales * fruit[j].price > fruit[j + 1].sales * fruit[j + 1].price) { // 如果前一个水果的总销售额(销量*单价)大于后一个水果的总销售额
struct fruitinfo temp = fruit[j]; // 则交换两个水果的位置
fruit[j] = fruit[j + 1];
fruit[j + 1] = temp;
}
}
}
// 输出排好序的6种水果的信息
for (int i = 0; i < 6; i++) {
printf("%d %s %.2f %.2f\n", fruit[i].id, fruit[i].name, fruit[i].sales, fruit[i].price);
}
return 0;
}