c语言基础:L1-055 谁是赢家

        某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 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   // 引入标准输入输出库,用于输入输出操作  
  
// 定义主函数  
int main() {    
    // 定义两个整数变量pa和pb,用于存储观众的投票数  
    int pa, pb;    
    // 定义一个长度为3的整数数组a,用于存储3位评委的投票结果  
    int a[3];      
    // 定义两个整数变量count_a和count_b,分别用于统计a和b获得的评委票数  
    int count_a = 0, count_b = 0;    
  
    // 从标准输入读取两个整数,并存储到pa和pb中  
    scanf("%d%d", &pa, &pb);    
    // 循环3次,每次从标准输入读取一个整数,并存储到数组a的相应位置  
    for (int i = 0; i < 3; i++) {    
        // 常规输入  
        scanf("%d", &a[i]);    
    }    
  
    // 如果pa大于pb,说明a的观众票数高于b  
    if (pa > pb) {    
        // 循环3次,每次检查评委的投票结果  
        for (int i = 0; i < 3; i++) {    
            // 如果评委投票给a,则计数器count_a加1  
            if (a[i] == 0) {    
                count_a++;    
            }    
        }    
  
        // 如果至少有一位评委投了a,则输出a获胜的结果  
        if (count_a != 0) {    
            printf("The winner is a: %d + %d\n", pa, count_a);    
        } else {      
            printf("The winner is b: %d + %d\n", pb, 3 - count_a);    
        }    
    }      
  
    // 如果pa小于pb,说明b的观众票数高于a,处理方式与上面类似  
    if (pa < pb) {    
        // 同上面的for循环,检查评委的投票结果  
        for (int i = 0; i < 3; i++) {    
            // 如果评委投票给b,则计数器count_b加1  
            if (a[i] == 1) {    
                count_b++;    
            }    
        }    
  
        // 如果至少有一位评委投了b,则输出b获胜的结果  
        if (count_b != 0) {    
            printf("The winner is b: %d + %d\n", pb, count_b);    
        } else {      
            printf("The winner is a: %d + %d\n", pa, 3 - count_b);    
        }    
    }      
    
    // 主函数结束,返回0表示程序正常结束  
    return 0;    
}

 

你可能感兴趣的:(c,1024程序员节,c语言)