关于一道C语言编程题

zhengchengyy 2017-01-25 06:39:45
有一个天平,有六种砝码,分别重1,2,3,5,10,20克,每种砝码各有5,3,2,2,1,1个,计算天平能称出的重量及种类
...全文
513 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kugeniha 2017-02-05
  • 打赏
  • 举报
回复
去重复可以用先把结果排序,然后去重,for循环,用一个临时变量=-1,和a(i)比较,相同,总数就减1,不同就把a(i)赋值给临时变量
zhengchengyy 2017-02-04
  • 打赏
  • 举报
回复
引用 5 楼 ooolinux的回复:
内层循环和外层循环也可以反过来,1克的放在最内层循环,20克的放在最外层循环,这样计算就是从最小到最大。
做出来了,谢谢
hyzhanc 2017-02-03
  • 打赏
  • 举报
回复
引用 6 楼 u010165006 的回复:
计算出来的总克数,重复的去除,0也去除,就可以了。
我想问下到了这步 。。怎么剔除重复的?
小熊之怒 2017-02-03
  • 打赏
  • 举报
回复
我也是初学者的思路:定义一个数组 int arr[20]; int *p = arr; 然后循环遍历数组,使用if else if else类型的 if(*p = 1) *p++; num1++; else if(*p = 2) *p++; num2++; .... num+质量然后遍历时候就会找到
mxway 2017-02-03
  • 打赏
  • 举报
回复
这个应该是动态规划算法,看下背包算法九讲,或许可以找到答案
ooolinux 2017-02-03
  • 打赏
  • 举报
回复
引用 7 楼 hyzhanc 的回复:
[quote=引用 6 楼 u010165006 的回复:] 计算出来的总克数,重复的去除,0也去除,就可以了。
我想问下到了这步 。。怎么剔除重复的?[/quote] 可以用一个动态数组,每次计算出来的总克数,在数组中搜索有无相同的,没有相同的就插入。
ooolinux 2017-02-01
  • 打赏
  • 举报
回复
计算出来的总克数,重复的去除,0也去除,就可以了。
ooolinux 2017-02-01
  • 打赏
  • 举报
回复
内层循环和外层循环也可以反过来,1克的放在最内层循环,20克的放在最外层循环,这样计算就是从最小到最大。
zhengchengyy 2017-02-01
  • 打赏
  • 举报
回复
引用 2 楼 yyyyzf的回复:
全组合问题~要把相同质量的砝码分开写~写成1 1 1 1 1 2 2 2 3 3 5 5 10 20来写~可参考排列组合算法~
那还得自己写个排列组合算法吧
zhengchengyy 2017-02-01
  • 打赏
  • 举报
回复
引用 1 楼 ooolinux的回复:
用6层for循环,第一层循环从0~5,第二层0~3(代表个数),第一层循环变量*1克,第二层循环变量*2克,全部相加。
还是不太懂,循环这么多层不太明白
yyyyzf 2017-01-26
  • 打赏
  • 举报
回复
全组合问题~要把相同质量的砝码分开写~写成1 1 1 1 1 2 2 2 3 3 5 5 10 20来写~可参考排列组合算法~
ooolinux 2017-01-25
  • 打赏
  • 举报
回复
用6层for循环,第一层循环从0~5,第二层0~3(代表个数),第一层循环变量*1克,第二层循环变量*2克,全部相加。
C语言是一门广泛应用于系统编程、嵌入式软件和高性能应用开发的高级编程语言。本课程旨在向你介绍C语言的基本概念、语法和编程技巧,使你能够掌握C语言的核心知识,并能够用C语言编写简单到中等复杂程度的程序。课程针对0基础初学者,所以课程会由浅入深,由表及里的探索C语言知识框架,慢慢触及C语言本质,课程结构先由简单程序引入,然后拆分程序各个细节,让你逐渐掌握C语言编程的精髓。也会讲解C语言编译过程,怎样将人类描述的语言让计算机能够识别并按我们的意愿运行。C语言程序怎样运行也会详细介绍,了解程序由静到动的过程。课程注重基础理论与实践结合,在重点关注C语言的基础理论知识的同时,我们会结合大量的实际编程练习,对每个重要的知识点和易错的地方都有代码演示并查看程序运行结果,深入理解C语言的运作原理。课程中一半内容是理论知识的讲解,另外一半是代码实操。课程由本人全部从0开始编写,从课程架构思考,内容组织,难易程度,章节划分,都融入了本人对C语言的思考,几乎全是干货,如果你渴望成为一名优秀的C语言编程者,那么不要犹豫!欢迎报名参加我们的课程,让我们一起踏上编程的旅程,共同学习和进步!课程源码:https://gitee.com/sliaowalker/c-language-programming

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧