C/C++ code#include

#include

#define N 50

int x,m;

void analyse(int n,int y,float weight[N],float price[N]) /* 将他们的价值进行排序*/

{

int i,j;

int flag; /*判断*/

float s[N],temp;

for(i=1;i <=n;i++) /* 改为for(i = 0;i < n;i++),不然越界*/

s[i]=price[i]/weight[i];

for(i=1;i <=n;i++) /* 改为for(i = 0;i < n;i++),不然越界*/

{

flag=0;

for(j=1;j <=n-i;j++)

if(s[j]>s[j+1])

{

flag=1;

temp=s[j];

s[j]=s[j+1];

s[j+1]=temp;

temp=weight[j];

weight[j]=weight[j+1];

weight[j+1]=temp;

temp=price[j];

price[j]=price[j+1];

price[j+1]=temp;

}

if(!flag) break;

}

}

void input(int n,int y,float weight[N],float price[N]) /*输入数据*/

{ int k;

printf("输入物品种数:\n");

scanf("%d",&n);

printf("输入背包重量:\n");

scanf("%1f",&y); /*int y应该用%d*/

printf("输入%d个物品的重量:\n",n);

for(k=1;k <=n;k++) /* 改为for(k = 0;k < n;k++),不然越界*/

scanf("%1f",&weight[k]); /* %lf为double,float weight[]应该用%f */

printf("输入%d个物品的价值:\n",n);

for(k=1;k <=n;k++) /* 改为for(k = 0;k < n;k++),不然越界*/

scanf("%1f",&price[k]); /* %lf为double,float price[]应该用%f */

}

void find(int n,int y,float weight[N],float price[N]) /* 选择方案*/

{

int i;

float sum=0;

for(i=n;i>=1;i--) /* 改为for(i = (n - 1);i > 0;i--),不然越界*/

{

if(sum

{

if(weight[i] <=(y-sum))

{

sum=sum+weight[i];

printf("%d %d",&price[i],&weight[i]); /* %d 改为%f,不然输出的数据不正确 */

}

else

{

printf("%d %d",&price[i],&weight[i]); /* %d 改为%f,不然输出的数据不正确 */

break;

}

}

else

break;

}

}

int main()

{

float w[N],p[N];

input(x,m,w,p);

analyse(x,m,w,p);

find(x,m,w,p);

getch();

return 0;

}

C语言贪心算法书包问题,贪心算法背包有关问题(帮忙看看看)相关推荐

  1. c语言编程后总有一个错误,C语言编程,之后出现错误,请大神帮忙看下什么问题?...

    int main(void) { int a = 10; int *p1 = &a; char ch = 'c'; char *p2 = &ch; printf("p1=&g ...

  2. c语言return 0;system(pause);,C语言编程,之后出现错误,请大神帮忙看下什么问题?...

    int main(void) { int a = 10; int *p1 = &a; char ch = 'c'; char *p2 = &ch; printf("p1=&g ...

  3. c语言动态规划回溯的原理,「算法思想」分治、动态规划、回溯、贪心一锅炖...

    观感度:????? 口味:东北一锅出 烹饪时间:10min 本文已收录在Github github.com/Geekhyt,感谢Star. 数据结构与算法系列专栏第四弹来袭,往期专栏链接如下: 初学者 ...

  4. 数据结构与算法笔记:贪心策略之BSTBBST, Hashtable+Dictionary+Map, Priority Queue~Heap, Minium Spanning Tree

    BST & BBST BST(Binary Search Tree) 二叉搜索树,也就是使用二叉树来做查找 BBST(Balanced Binary Search Tree) 平衡二叉搜索树 ...

  5. 【算法学习】贪心算法

    参考算导第三版第16章 贪心算法 文章目录 1. 活动选择问题 1.1 活动选择问题的最优子结构 1.2 贪心选择 1.3 递归贪心算法 1.4 迭代贪心算法 2. 贪心算法原理 2.1 贪心选择性质 ...

  6. 五大常用算法之三:贪心算法

    一.基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解. 贪心算法没有固定的算法框架,算法设计的关键 ...

  7. 算法导论之贪心算法(Huffman编码和拟阵)

    贪心算法,在解决最优化问题上,通过得到子问题的局部最优解来合成问题的一个解,以局部最优选择来输出一个全局最优解. 问题要用贪心算法来求解,需满足和动态规划一样的最优子结构特征,同时还需要再每个子问题最 ...

  8. 对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的边。说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度

    对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的 边.说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度

  9. 【数据结构与算法】【算法思想】贪心算法

    贪心算法 回溯算法 分治算法 动态规划 四种基本的算法思想:贪心算法,分治算法,回溯算法,动态规划,他们不是具体算法,常用来指导我们设计具体的算法和编码等. 一:贪心算法有很多经典应用 霍夫曼编码(H ...

最新文章

  1. 1.13 总结-深度学习第五课《序列模型》-Stanford吴恩达教授
  2. 基于线性SVM的CIFAR-10图像集分类
  3. Qt文档阅读笔记-Widgets Tutorial官方解析及实例
  4. 【买衣服】I'm looking for a jacket
  5. js 中的属性以数字开头的属性和取值
  6. c语言 sprintf_s 参数 通配符,Rust教程(翻译).doc
  7. Atitit 互操作之道 接口之道 attilax著
  8. Boost Thread 编程指南、Boost线程入门教程
  9. centos php solr 安装,centos下安装配置solr全纪录
  10. Redis学习三:设计与实现之单机数据库的实现
  11. Sublime 打开文件中文乱码
  12. 网站被ddos攻击了怎么办?网站正在被ddos攻击怎么解决
  13. 批量重命名,文件夹重命名的五种方式分享
  14. [maven] maven
  15. 2019年7月28日 恶心人
  16. 论文笔记:Fast AutoAugment
  17. 什么是AOP,AOP能干什么,有什么优点
  18. 用c语言验证1000以内的卡拉兹(Callatz)猜想
  19. c语言给bmp图片加水印
  20. Nutz | Nutz项目整合Spring实战

热门文章

  1. 幸福指数报告 -- 数据可视化+聚类分析
  2. 270、出界的路径数
  3. 【C语言】PAT乙级:1007 素数对猜想
  4. Android: NDK doer not contain any platfor
  5. 语音合成TTS(Text-To-Speech,从文本到语音)
  6. 一文带你读懂“亚当理论”的精髓:期货股票交易操作守则与操作技巧
  7. anaconda下载python的库_Anaconda下载及安装及查看安装的Python库用法
  8. js正则:提取css语法中的背景图片名字
  9. python中容易被忽视的三个点
  10. 蓝牙芯片排行_7月TWS硅麦出货量排行榜出炉