枚举,循环

本文介绍了如何使用循环和条件语句(如break、接力break和goto)解决百钱买百鸡问题的方程组。通过实例展示了如何在满足特定条件时跳出多层循环,以找到一种合适的解决方案。
摘要由CSDN通过智能技术生成

枚举是具有有限个整型变量符号常量的集合,这些整型符号常量称为枚举常量。

在这里我们讨论关于循环枚举。

给出一个例题:

百钱买百鸡问题:有一个人有100块钱,打算买一百只鸡。到市场一看,公鸡一只3元,母鸡一只5元,小鸡3只1元,试求用100元买一百只鸡,各为多少才合适?

根据问题我们得到方程组:

3x+5y+z/3=100

x+y+z=100

代码如下:

可以看到这里给出了许多种方案,如果我们只想要一种方案显示并且我们只想要第一种方案的话就要用break语句跳出循环。

如下所示:

我们可以看到,虽然我们使用了break语句想要跳出循环,但由于break只能跳出内层循环,而外层循环任然执行,其实这样和之前没什么区别,只不过过程步骤减少了一些。

现在使用接力break,跳出循环,如下所示:

我们在这里设置了一个标志exit,若exit=1,则证明还未找到合适方案,程序继续运行,若exit=0,则证明已经找到了第一种合适的方案,在接下来的外层循环中都加上对exit的判断,就可以接力跳出整个循环。

或者我们直接使用goto语句跳出,代码如下:

我们用goto给后面起名叫out,这下out就相当于传送门,可以在程序中反复横跳,这里的goto out在最内层循环中,在第一个方案被找到后,条件if判断正确,就传送出了整个循环。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值