#include<stdio.h>
struct Bag
{
int BagID;
int BagWeight;
int BagPrice;
int SinglePrice;
float Num;
};
void seekBest(Bag bag[],int n,float bagRL)
{
int i;
float BRL=bagRL;
for(i=0;i<n;i++)
{
bag[i].Num=0;
if(bag[i].BagWeight>BRL)
break;
else
{
bag[i].Num=1;
BRL=BRL-bag[i].BagWeight;
}
}
if(i<=n)
{
bag[i].Num=BRL/bag[i].BagWeight;
}
for(i=0;i<n;i++)
{
if(bag[i].Num>0)
{
printf("放入ID号为:%d 重量为 %d 的物品 %f 件!!!\n\n",bag[i].BagID,bag[i].BagWeight,bag[i].Num);
}
}
}
void Sort(Bag bag[],int n)
{
int j;
Bag temp;
int i;
for(i=0;i<n;i++)
{
bag[i].SinglePrice=bag[i].BagPrice/bag[i].BagWeight;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(bag[j].SinglePrice<bag[j+1].SinglePrice)
{
temp=bag[j];
bag[j]=bag[j+1];
bag[j+1]=temp;
}
}
}
}
}
void main()
{
float bagRL;
Bag bag[5];
bag[0].BagID=1;
bag[0].BagPrice=5;
纯C语言:贪心部分背包问题源码
最新推荐文章于 2025-05-15 15:00:03 发布