文章
4
粉丝
209
获赞
2
访问
2.4k
#include <stdio.h> // 引入标准输入输出库
#include <stdlib.h> // 引入标准库,用于 qsort 函数
// 定义一个结构体来存储饮料的价格、毫升数和性价比
typedef struct{
double key; // 价格
double value; // 毫升数
double ratio; // 性价比,即 value/key
} KV;
// 比较函数,用于 qsort,比较两个 KV 结构体的性价比
int compare(const void *a, const void *b){
KV *kvA = (KV *)a; // 类型转换,从 void* 到 KV*
KV *kvB = (KV *)b; // 类型转换,从 void* 到 KV*
if (kvB->ratio > kvA->ratio) return 1; // 如果 b 的性价比更高,返回 1
if (kvB->ratio < kvA->ratio) return -1; // 如果 a 的性价比更高,返回 -1
return 0; // 如果性价比相等,返回 0
}
// 主函数
int main(){
int x, n; // x 是小明手里的钱,n 是饮料的种类数
// 无限循环,直到输入为 -1 -1 时退出
while(1){
scanf("%d %d", &x, &n); // 读取 x 和 n 的值
if(x == -1 && n == -1){ // 检查是否应该结束程序
break; // 结束循环
}
KV Hash[n]; // 创建一个 KV 类型的数组,用于存储所有饮料的信息
double result = 0; // 用于存储小明能喝到的饮料总量
// 循环读取每种饮料的信息
for(int i = 0; i < n; i+...
登录后发布评论
暂无评论,来抢沙发