逻辑表达式的应用:名次预测

题目描述

某观众在赛前预测 AA ~ FF 六名选手在比赛中会按顺序分别获第 11 名到第 66 名,输入每个选手的实际比赛名次,以 " ∗∗ " 输出该观众预测正确的次数。

输入

一行, [1,6][1,6] 区间内的 66 个整数,每个整数用空格分开,分别代表 AA ~ FF 六名选手的实际比赛名次。

输出

一行字符串。以一个 ∗∗ 表示预测者猜对了一名选手的名次。例如****表示预测者猜对了 44 名选手的名次;若预测结果全部不正确,则输出Sorry!Unlucky!

输入样例

1 2 3 4 6 5

输出样例

****

样例说明

猜对了 44 名选手的名次,因此输出****

题解

#include <stdio.h>

int main()
{
	int arr[6];
	int i = 1, j = 0;
	scanf("%d%d%d%d%d%d", &arr[0], &arr[1], &arr[2], &arr[3], &arr[4], &arr[5]);
	for (i = 1; i <= 6; i++)
	{
		if (arr[i - 1] == i)
		{
			printf("*");
			j++;
		}
	}
	
	if (j == 0)
	{
		printf("Sorry!Unlucky!\n");
	}
	return 0;
}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据题目描述,我们可以得到以下信息: 1. A选手预测:B第一,我第三。由此可以得到B选手至少得到了第一或第二,A选手至少得到了第三或第四。 2. B选手预测:我第二,E第四。由此可以得到B选手至少得到了第二或第三,E选手至少得到了第三或第四。 3. C选手预测:我第一,D第二。由此可以得到C选手至少得到了第一或第二,D选手至少得到了第二或第三。 4. D选手预测:C最后,我第三。由此可以得到D选手至少得到了第一或第二,C选手至少得到了第四或第五。 5. E选手预测:我第四,A第一。由此可以得到E选手至少得到了第一或第二,A选手至少得到了第三或第四。 根据以上信息,我们可以得到以下结论: 1. C选手预测必须是正确的,因为只有C选手预测中包含第一,而且其他选手预测中都没有第一。 2. D选手预测中包含第一或第二,而且C选手预测中包含第一,因此D选手预测中的第二必须是正确的。 3. 根据以上结论,我们可以得到以下排:第一为C选手,第二为D选手。 4. 根据A选手预测,B选手至少得到了第一或第二,因此B选手预测中的第二必须是正确的。 5. 根据E选手预测,A选手至少得到了第三或第四,因此A选手预测中的第一必须是正确的。 6. 根据B选手预测,E选手至少得到了第三或第四,因此E选手预测中的第四必须是正确的。 7. 根据以上结论,我们可以得到以下排:第一为C选手,第二为D选手,第三为B选手,第四为E选手,第五为A选手。 因此,比赛名次为:第一为C选手,第二为D选手,第三为B选手,第四为E选手,第五为A选手

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值