C语言程序设计:预测比赛名次

题目内容:

编程:甲、乙、丙三位球迷分别预测已进入半决赛的四支球队的名次如下:

甲预测:A队第1名,B队第2名;

乙预测:C队第1名,D队第3名;

丙预测:D队第2名,A队第3名。

比赛结果证实,甲、乙、丙预测各对一半。

试求A、B、C、D四队的名次(没有名次相同的情况)。

提示:本题的编程序方法可采用典型的枚举法,即“循环+选择”编程定式。可设变量a代表A队的名次,变量b代表B队的名次,变量c代表C队的名次,变量d代表D队的名次。变量a、b、c、d的取值范围都是1~4。这样就可以用四重循环结构得到四队不同名次的所有组合,对每个组合再来判断是否满足甲、乙、丙三人的预测,如果满足,则是问题的解。

进一步提示:判断条件的写法,以甲预测为例,A队第1名可表示a==1,B队第2名可表示为b==2,预测对一半可表示为(a==1)!=(b==2),或者((a == 1) + (b == 2) == 1),其它类同。

程序优化:也可采用三重循环结构,因为a、b、c、d之和是10,当a、b、c的取值确定以后,d的取值就确定了,即d=10-a-b-c。

采用这种枚举法编程的题目还有很多,如百元百鸡问题、韩信点兵问题以及数字组合问题等。

输入格式:

输出格式ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值