快排大法好。
/**************************************************
**文件名:百炼-2795
**Copyright (c) 2010-2020 OrdinaryCrazy
**创建人:OrdinaryCrazy
**日期:20170803
**描述:百炼-2795参考答案
**版本:1.0
***************************************************/
#include <stdio.h>
#include <stdlib.h>
/*********
很直观的解决办法就是我们先找性价比高的金属装
所以这道题的关键在于对单价快速排序
*********/
int times,kind,carry;
double cost;
struct metrial
{
int weight;
int cost;
double unit;
}metrials[100];
typedef struct metrial metrial;
void swap(metrial*a,metrial*b)
{
metrial tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
/****************************************
**函数名:qs
**输入:l-需要排序的左侧起始索引
** r-需要排序的右侧起始索引
**功能:将l-r区间内的metrial结构变量按照单价由高到低排序
**作者:OrdinaryCrazy
**日期:2017