首页 > 试题广场 >

竞选社长

[编程题]竞选社长
  • 热度指数:39458 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长.

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


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

输入

ABBABBAAB0

输出

B
import java.io.*;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String str = bf.readLine();
        int Bnum = str.replace("A","").length();
        int Anum = str.replace("B","").length();
        if(Anum>Bnum){
            System.out.println("A");
        }else if(Anum<Bnum){
            System.out.println("B");
        }else{
            System.out.println("E");
        }
    }
}

发表于 2020-04-15 14:37:48 回复(0)
#include <stdio.h>

int main(){
    char str=0;
    int i=0;
    int count=0;
    while (~scanf("%c",&str)){
        if(str=='A')
            count++;
        else if(str=='B')
            count--;
    }
    printf("%c",(count>0)?'A': (count<0)?'B':'E');
    return 0;
}

发表于 2022-02-26 18:36:01 回复(0)
#include<stdio.h>
#include<string.h>
int main()
{
       int a=0;
       int b=0;
    while(1)
    {
        char A=getchar();
        if(A=='A')
            a+=1;
        else if(A=='B')
            b+=1;
        else
            break;
     }
        if(a==b)
            printf("E");
        else if(a>b)
            printf("A");
        else 
            printf("B");
    return 0;
}

发表于 2021-12-07 22:24:45 回复(0)
#include<stdio.h>
int main()
{
    char ch;
    int m=0,n=0;
    while((ch=getchar())!='0'&&(ch!=EOF))
    {
        if(ch=='A')
            m++;
        else
            n++;
    }
    if(m>n)
        ch='A';
     else if(m<n)
         ch='B';
         else
             ch='E';
    printf("%c",ch);
    return 0;
}

发表于 2021-10-30 11:00:47 回复(0)
#include<stdio.h>
int main()
{
    char ch;
    int count=0;
    while((ch=getchar())!='0'&&(ch!=EOF))
    {
        if(ch=='A')
        {
            count++;
        }
        else if(ch=='B')
        {
            count--;
        }
    }
    if(count>0)
    {
        printf("A");
    }
    else if(count==0)
    {
        printf("E");
    }
    else
    {
        printf("B");
    }
    return 0;
}
注意字符0和死循环
发表于 2021-08-10 21:10:39 回复(1)
#include<stdio.h>
int main()
{
    int Acount=0,Bcount=0;
    char n;
    while((n=getchar())!=EOF)
    {
        if(n=='A')
            Acount++;
        else if(n=='B')
            Bcount++;
    }
    if(Acount>Bcount)
        printf("A");
    else
        if(Acount<Bcount)
            printf("B");
    else printf("E");
    return 0;
}

发表于 2021-07-07 16:21:41 回复(0)
#include <stdio.h>
int main()
{
    char a[100];
    int count_A = 0, count_B = 0;
    scanf("%s",a);
    for (int i = 0;i<100; i++)
    {
        if (a[i] == 'A')
            count_A++;
        else if (a[i] == 'B')
            count_B++;
    }
    if (count_A > count_B)
        printf("A");
    else if (count_A < count_B)
        printf("B");
    else printf("E");
    return 0;
}

发表于 2021-05-18 21:30:34 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner =new Scanner(System.in);
        int sum = 0;
        int countA = 0;
        int countB = 0;

        String vote = scanner.nextLine();
            while (vote.length()!=sum){
                switch (vote.charAt(sum)){
                    case 'A':
                        countA+=1;
                        break;
                    case 'B':
                        countB+=1;
                        break;
                    case '0':
                        break;
                }   sum+=1;

            }

        if(countA==countB){
            System.out.println("E");
        }else{
            System.out.println(countA>countB?"A":"B");
        }
    }
}

发表于 2021-03-25 16:33:07 回复(1)
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		int n=0;
		int a=0;
		int b=0;
		Scanner sc=new Scanner(System.in);
		String str=sc.next();
		char[] ch=str.toCharArray();
		for(int i=0; i<ch.length-1; i++){
			 if(ch[i]=='A'){ 
				 a++;
			 }
			 if(ch[i]=='B'){ 
				 b++;
			 } 
		}
		if(a>b){
			System.out.println("A");
		}
		else if(a<b){
			System.out.println("B");
		}
		else{
			System.out.println("E");
		}
		 
	 
	}

}

发表于 2020-07-10 10:32:09 回复(0)
这里用到的是C++的语法,感兴趣的话可以了解一下。getline(cin, ch)是用标准输入流cin给字符串变量ch里面装入从键盘上输入的字符串,然后构建一个循环,记录这个字符串里面的A和B字符的个数,最后再比较两个字符的数量。
#include<bits/stdc++.h>
using namespace std;
int main(){
    string ch;
    int a = 0, b = 0;
    getline(cin, ch);
    for(int i = 0; ch[i] != '0'; i++){
        if(ch[i] == 'A') a++;
        else if(ch[i] == 'B') b++;
    }
    if(a > b) cout << 'A' << endl;
    else if(a < b) cout << 'B' << endl;
    else cout << 'E' << endl;
    return 0;
}


发表于 2020-05-31 13:58:21 回复(0)
#include <cstdio>
int main()
{
    char c;
    int sa=0,sb=0;
    while((c=getchar())!='0'&&(c!=EOF))
    {
        
        if(c=='A')
            ++sa;
        if(c=='B')
            ++sb;
    }
    if(sa>sb)
        printf("A");
    else
        if(sa<sb)
            printf("B");
    else
        printf("E");
    return 0;
}

发表于 2020-03-25 15:01:28 回复(2)
#include <stdio.h>
int main(){
    char ch;
    int suma = 0, sumb = 0;
    while((ch = getchar()) != '0' && (ch != EOF)){
        if (ch == 'A'){
            suma = suma + 1;
        }
        if (ch == 'B'){
            sumb = sumb + 1;
        }
    }
    printf("%c", (suma > sumb)? 'A':((suma < sumb)?'B':'E'));
    return 0;
}
注意当读取到EOF时,循环也会退出。
发表于 2020-03-14 21:02:12 回复(6)
#include <stdio.h>
(737)#include <string.h>
int main()
{
    char str[1005];
    gets(str);
    int len=strlen(str);
    int i,a=0,b=0;
    for(i=0;i<len;i++){
        if(str[i]=='A') a++;
        else if(str[i]=='B') b++;
    }
    if(a>b) printf("A\n");
    else if(a==b) printf("E\n");
    else printf("B\n");
}

发表于 2020-04-10 14:17:05 回复(0)
#include <stdio.h>

int main(){
    char arr[20] = { 0 };
    scanf("%s", arr);
    int a = 0, b = 0, i = 0;
    while(arr[i] != '0'){
        arr[i] == 'A'? a++ : b++;
        i++;
    }
    printf("%c", a==b? 'E' : a>b? 'A' : 'B');
    return 0;
}

发表于 2022-06-15 00:36:20 回复(0)
printf("%c",a>b?'A':(a<b)?'B':'E');
最后可以用三目表达式来判断输出结果
发表于 2021-08-18 10:41:53 回复(0)
#include <stdio.h>

int main() {
    char a=1,i=0,j=0;
    while(a){
        scanf("%c",&a);
        if(a=='A') i++;
        if(a=='B') j++;
        if(a=='0') break;
    }
    if(i>j){
        printf("A");
    }else if(i<j){
        printf("B");
    }else if(i==j){
        printf("E");
    }
}
发表于 2023-10-27 16:55:21 回复(0)
#include<stdio.h>
#include<string.h>
int main()
{
    //法一
    /*
    int ch=0;
    int count=0;
    while((ch=getchar())!='0'&& ch!=EOF)
    {
        if(ch=='A')
        {
            count++;
        }
        else if(ch=='B')
        {
            count--;
        }  
    }
    if(count==0)
        printf("E");
    else if(count>0)
        printf("A");
    else
        printf("B");
    */
    
    //法二
    char str[100]={0};
    //读取一行
    gets(str);
    int i=0;
    int count=0;
    while(str[i]!='\n'&&str[i]!='0')
    {
        if(str[i]=='A')
            count++;
        else if(str[i]=='B')
            count--;
        i++;
    }
    if(count==0)
        printf("E");
    else if(count>0)
        printf("A");
    else 
        printf("B");
    
    return 0;
}

发表于 2022-03-09 15:17:37 回复(0)
#include <bits/stdc++.h>
using namespace std;
int main(){
    char c;
    int countA = 0, countB = 0;
    while(cin>>c){
        if(c=='A') countA++;
        else if(c=='B') countB++;
        else break;
    }
    if(countA > countB) cout<<"A";
    else if(countA < countB) cout<<"B";
    else cout<<"E";
    return 0;
}

发表于 2022-01-18 16:27:56 回复(0)
a = input()
b = a.count('A')
c = a.count('B')
if b == c:
    print("E")
elif b>c:
    print("A")
else:
    print("B")

发表于 2020-11-23 13:08:53 回复(1)
char m=0;
    int a=0,b=0;
    while(cin>>m){
        if (m=='A')
           a++;
        if (m=='B')
            b++;
        if (m=='0')
            break;
    }
    if (a>b)
       cout<<'A';
    else if (a<b)
       cout<<'B';
    else
       cout<<'E';
判断语句必须要加括号。

发表于 2020-03-24 11:56:29 回复(0)

问题信息

上传者:牛客309119号
难度:
146条回答 3522浏览

热门推荐

通过挑战的用户

查看代码
竞选社长