这哪错了????

#include<bits/stdc++.h>

using namespace std;

int main() {

     int a=0, b=0, c=0;

     int i /*输入*/, ct=0 /*计数*/;

     do {

               cin>>i;

               switch(i) {

                        case 1:

                                 a++;

                                 break;

                        case 2:

                                 b++;

                                 break;

                        case 3:

                                 c++;

               }

               ct++;

     } while(i!=-1);

     ct--;

     i='A';

     cout<<"A="<<a<<"\nB="<<b<<"\nC="<<c<<"\nTot="<<ct;

     if ( b  / (ct * 1.0) > 0.5 ) i+=1;

     else if ( c  / (ct * 1.0) > 0.5 ) i+=2;

     else if ( a  / (ct * 1.0) > 0.5 );

     else i=-1;

     if (i==-1)cout<<"\nall-NO";

     else cout<<"\n"<<(char)(i)<<"-yes";

     return 0;

}

2 个赞

题目

1 个赞

在三个候选人A(代号为1)、B(代号为2)和C(代号为3)中,选一个班长,现有一批已投的选票(用-1表示结束),请分别统计出他们的得票数。谁的得票过A、B、C三人全票数的半数,就输出谁当选为班长,如“A-yes”表示A当选,全部不过半数,输出“all-NO”。

输入格式:

输入一行,若干个整数,以-1结尾

输出格式:

输出五行。

1 个赞

@栗子酱

1 个赞

你先等我做完题的,10分钟

1 个赞

好的

1 个赞

可能是这个问题:
图片
这里你写成一块了,\n 评测机读不出来
最好写成 cout << '\n' << "all-NO";

1 个赞

还是错了

1 个赞

分数有改变吗

1 个赞

我觉得我代码有问题

1 个赞

或者有没有原题链接

1 个赞

从Wrong Answer到Compile Error

1 个赞

https://www.xinyoudui.com/contest?courses=565&books=515&pages=16328&fragments=50761&problemId=1145

1 个赞

我解决了
!!!!

2 个赞

此贴散

2 个赞

这是一道统计题目,您可以使用一个数组来记录每个候选人的得票数,然后遍历一遍数组,判断哪个候选人的得票数超过了全票数的一半。以下是代码示例:

#include <iostream>
using namespace std;

int main() {
    int A = 0, B = 0, C = 0;
    int all = 0;
    int n;
    while (cin >> n && n != -1) {
        if (n == 1) A++;
        else if (n == 2) B++;
        else if (n == 3) C++;
        all++;
    }
    if (A > all / 2) cout << "A-yes" << endl;
    else if (B > all / 2) cout << "B-yes" << endl;
    else if (C > all / 2) cout << "C-yes" << endl;
    else cout << "all-NO" << endl;
    return 0;
}

Tot算错了

1 个赞