列表

详情


BC147. 竞选社长

描述

假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长.

输入描述

一行,字符序列,包含A或B,输入以字符0结束。

输出描述

一行,一个字符,A或B或E,输出A表示A得票数多,输出B表示B得票数多,输出E表示二人得票数相等。

示例1

输入:

ABBABBAAB0

输出:

B

原站题解

C 解法, 执行用时: 1ms, 内存消耗: 308KB, 提交时间: 2021-09-10

#include<stdio.h>
int main()
{
    char arr[100];
    scanf("%s",arr);
    int a=sizeof(arr)/sizeof(arr[0]);
    int i;
    int b=0;
    int c=0;
    for(i=0;i<=a-1;i++)
    {
        if(arr[i]=='A')
            b++;
        else if(arr[i]=='B')
            c++;
    }
    if(b>c)
       printf("A\n");
    else if(b<c)
        printf("B\n");
    else if(b==c)
        printf("E\n");
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 332KB, 提交时间: 2021-09-11

#include <stdio.h>
int main(){
    char a;
    int b = 0;
    int c = 0;
    while(scanf("%c",&a) != EOF){
        if(a == 'A'){
            b++;
        }
        if(a == 'B'){
            c++;
        }
    }
        if(b > c){
            printf("A");
        }
        if(c > b){
            printf("B");
        }
        if(b == c){
            printf("E");
        }
}

C 解法, 执行用时: 1ms, 内存消耗: 336KB, 提交时间: 2021-09-10

#include<stdio.h>
int main(void)
{
    int a=0;
    char ch=0;
    int b = 0;
    while (scanf("%c",&ch) != EOF)
    {
        if (ch == '0')
            break;
        if (ch == 'A')
            a++;
        if (ch == 'B')
            b++;
    }
    if (a > b)
        printf("A");
     if (a < b)
        printf("B");
    if(a==b)
        printf("E");
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 340KB, 提交时间: 2021-09-08

#include<stdio.h>
#include<string.h>
int main()
{
    int c,a=0,b=0,e=0;
    char o[100];
    scanf("%s",&o);
    c=strlen(o)-1;
    for(int i=0;i<c;i++)
    {
        if(o[i]=='A')
        {
            a++;
        }
        if(o[i]=='B')
        {
            b++;
        }
        if(o[i]=='E')
        {
            e++;
        }
    }
    if(a>b&a>e)
    {
        printf("A");
    }
    else if(b>a&b>e)
    {
        printf("B");
    }
    else 
    {
        printf("E");
    }
    return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 344KB, 提交时间: 2021-09-14

#include<stdio.h>
int main()
{
	int ch;
	int a=0,b=0;
	while (((ch = getchar()) != '0') && ch != EOF)
	{
		if (ch == 'A')
			a++;
		if (ch == 'B')
			b++;
	}
	if (a == b)
	{
		printf("E\n");
	}
	else if (a > b)
	{
		printf("A\n");
	}
	else
	{
		printf("B\n");
	}
	return 0;
}

上一题