L1-055 谁是赢家 java语言

本文介绍了一种用于娱乐节目中的艺人表演评审环节的胜负判定算法。该算法综合考虑了观众投票和评委投票两部分,详细解释了胜负条件,并提供了一个Java实现示例,帮助理解如何根据投票结果确定胜者。

L1-055 谁是赢家 (10 分)
某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 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

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int Pa,Pb;
		int a=0,b=0;
		Pa= sc.nextInt();
		Pb= sc.nextInt();
		for(int i=0;i<3;i++) {
			if(sc.nextInt()==0) {
				a++;
			}else {
				b++;
			}
		}
		/*if(a==3) {
			System.out.println("The winner is a: "+Pa + a);
		}else if(b==3) {
			System.out.println("The winner is b: "+Pb + b);		
		}else if(*/
		if(Pa>Pb) {
			if(b==3) {
				System.out.println("The winner is b: "+Pb +" + "+ b);
			}else {
				System.out.println("The winner is a: "+Pa +" + "+ a);
			}
		}else if(Pa<Pb) {
			if(a==3) {
				System.out.println("The winner is a: "+Pa +" + "+ a);
			}else {
				System.out.println("The winner is b: "+Pb +" + "+ b);
			}
		}
	}
}

### 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`。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值