标题:简单的C程序,大哥们指教下,看是不是正确
只看楼主
suand
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-6-23
 问题点数:0 回复次数:7 
简单的C程序,大哥们指教下,看是不是正确

/*有27个小运动员口渴去买饮料,刚好超市有促销活动,3个空瓶子可
以换1瓶新饮料,问他们一共要买多少瓶就可以了.*/

main()
{
int a,b,c,i;/*a为总的运动员,b为空瓶子,c为促销,i为应该买的数量*/
a=b=27;
/*应该有27个空瓶子,应该为3个为1组,27/3=9组,排列如下,

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18
1 1 1 1 1 1 6/赠送/
1 1 2/赠送/
1 1

但是最后1组肯定换不了,所以实际只有8组*/
c=a/3-1;
/*3个空瓶子可以换1瓶新饮料,可以换取促销赠送的实际数量*/

i=(b-c);
/* (b-c) 27个空瓶子减掉8个赠送的瓶子*/
printf("i=%d",i);
}
/*输出结果*/

搜索更多相关主题的帖子: 瓶子 饮料 指教 超市 
2007-06-28 00:03
suand
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-6-23
得分:0 
我觉得这样说不上是不是太垃圾和简单了,还是理解错误,
请大哥们,大姐们指教下,有什么不同的意见!
谢谢批评,指正!

————初识C语言,兴趣所在!

[此贴子已经被作者于2007-6-28 0:06:43编辑过]

2007-06-28 00:05
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
得分:0 

差不多就那意思吧。分为九组,第一组买三瓶,直到第九组都只需要买两瓶。


深山苦学C语言,终年不见外面世界。
2007-06-28 00:27
wshyj18
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2007-5-14
得分:0 
我来写一下试试

2007-06-28 11:53
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
个人观点,仅供参考:
这种题目,应该是个通用的题目,就是说,你的算法不能只满足买27瓶,买三送一,这样的条件,如果我要的是29瓶,买四送一,你的算法就不行了,我想了个算法,没有彻底演算过,看看有没有漏洞:
设总共需要的瓶子n,买x瓶送y瓶
设t=n/(x+y),买的次数
设m=n%(x+y).余数
t/x表示总共送的瓶数中还有多少可以再次送
所以要买的瓶数=t*x+(m-t/x)

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-06-28 12:01
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
得分:0 

递归好做些..

[此贴子已经被作者于2007-6-28 12:31:23编辑过]


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-06-28 12:26
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
得分:0 
递归?
那就是循环套循环!!,不赞成这样的方法,如果基数要的不是27,是2700000,那不就相当于一个死循环,在实际操作中不能这样是禁忌的
这种题应该首先考虑的是数学算法!!

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-06-28 13:05
a307871404
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-19
得分:0 

谁来用递归做下我不会


我让我喜欢的人不开心     真没用
2007-06-28 16:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-150868-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.291653 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved