谁是赢家

本文介绍了一种用于娱乐节目的智能裁判系统,该系统通过结合观众投票和评委评分来决定表演艺人的胜负。具体规则包括:若艺人获得较高的观众票数并至少得到一名评委认可,或者虽观众票数较低但获得所有评委认可,则该艺人胜出。文章提供了一个程序实例,演示了如何根据输入的观众票数和评委投票结果,自动判断并输出胜者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

谁是赢家

某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 3 名评委投票两部分共同决定。规则为:如果一位艺人的观众票数高,且得到至少 1 名评委的认可,该艺人就胜出;或艺人的观众票数低,但得到全部评委的认可,也可以胜出。节目保证投票的观众人数为奇数,所以不存在平票的情况。本题就请你用程序判断谁是赢家。

输入格式:
输入第一行给出 2 个不超过 1000 的正整数 Pa 和 Pb,分别是艺人 a 和艺人 b 得到的观众票数。题目保证这两个数字不相等。随后第二行给出 3 名评委的投票结果。数字 0 代表投票给 a,数字 1 代表投票给 b,其间以一个空格分隔。

输出格式:
按以下格式输出赢家:

The winner is x: P1 + P2

其中x 是代表赢家的字母,P1是赢家得到的观众票数,P2 是赢家得到的评委票数。

输入样例:

327 129
1 0 1

输出样例:

The winner is a: 327 + 1
# include <stdio.h>       

int main()
{
	int a;
	int b;
	scanf(" %d", &a);
	scanf(" %d", &b);
	
	int c;
	int d;
	int e;
	scanf(" %d", &c); 
	scanf(" %d", &d); 
	scanf(" %d", &e);
	
	if (0 == c && 0 == d && 0 == e)
		printf("The winner is a: %d + 3", a);
	else if (1 == c && 1 == d && 1 == e)
		printf("The winner is b: %d + 3", b);
	else if (a > b)
		printf("The winner is a: %d + %d", a, !c + !d + !e);   //数字0代表投给a,非0为1,所加之和为a的票数
	else 
		printf("The winner is b: %d + %d", b, c + d + e);
		
	return 0;
}
### L1-055 谁是赢家 C语言 实现 以下是基于问题描述的 C 语言实现,用于解决谁是赢家的问题。该程序会读取两个艺人的观众票数以及三位评委的投票结果,并计算最终获胜者。 #### 输入说明 输入的第一行为两位艺人 `Pa` 和 `Pb` 的观众票数;第二行为三个数字(0 或 1),表示三位评委分别投给哪位艺人。 #### 输出说明 输出最终胜者的编号(即 `a` 或 `b`)。如果总票数相同,则按照题目要求优先考虑艺人 `a`。 #### 完整代码实现 ```c #include <stdio.h> int main() { int Pa, Pb; scanf("%d %d", &Pa, &Pb); int votes_a = 0, votes_b = 0; // 初始化观众票数 votes_a += Pa; votes_b += Pb; // 处理评委投票 for (int i = 0; i < 3; ++i) { int vote; scanf("%d", &vote); if (vote == 0) { votes_a++; } else if (vote == 1) { votes_b++; } } // 判断胜负并输出结果 if (votes_a >= votes_b) { printf("a\n"); } else { printf("b\n"); } return 0; } ``` #### 关键逻辑解释 1. **初始化票数** 首先通过输入获取艺人 `a` 和艺人 `b` 的初始观众票数 `Pa` 和 `Pb`[^3]。 2. **处理评委投票** 使用循环依次读入每位评委的投票结果。当评委投给艺人 `a` 时 (`vote == 0`),增加 `votes_a` 计数器;反之则增加 `votes_b` 计数器。 3. **判断胜负条件** 如果艺人 `a` 的总票数大于等于艺人 `b` 的总票数,则输出 `a`;否则输出 `b`。这里遵循了题目中的规则——在平局情况下优先选择艺人 `a`。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值