C语言题(木材加工)

C语言题(木材加工),第1张

提供一个算法思路,供参考:

1 将木材设定为结构数组,该结构共有2个元素,长度和重量;

如果不会使用结构,不要紧,设定2个数组就行了

2 通过输入方法得到该结构数组(2个数组)的数据

3 排序

假定该数组大小为n,共有m个木材,那么加工次序为结构数组号m-1,m-2,....0

为了达到准备时间最短,需要排序

因为必须满足条件:第i块木材的重量和长度大于等于第i-1块木材的重量和长度,第i根木材才不需要准备时间,否则需要1分钟的准备时间。

其实排序按照一个条件就行了,比如按照重量排序就行了(需要改变重量数组顺序时,别忘了把长度数组顺序也同样改变,长度数组不需要比较大小)

4 计算等待时间:从结构数组号m-1算起,判断长度条件,满足第i块木材的长度大于等于第i-1块木材的长度,就没有等待时间,否则加1,无需再判断重量条件了。

可用梯形的面积计算公式计算.

最下面一层是4根(下底),那最上一层应该是4+7-1=10根(上底),

用S=(a+b)*h/2=(4+10)*7/2=49根


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11352751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存