C++流输入是可以空格循环分隔各个输入值的。所以代码使用C++流输入处理即可,不过需要对“-1”的输入做出停止的响应。
代码:
/*C++流输入是可以空格循环分隔各个输入值的。所以代码使用C++流输入处理即可,不过需要对“-1”的输入做出停止的响应。
*/
#include
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';
好多代码,都是高手,不过学习代码最好先学逻辑,毕竟代码哪里都能找的到,想法是自己创新的
这个也就是统计数量,
先定义3个变量,a,b,c存储他们的投票数,将初值赋0
然后用获取数据函数取数字,判断是不是,是给a加1,不是判断是不是2,给b加1,不是判断是不是3,是给c加1,不是表示输入错误,
判断完成后,在一次判断a,b,c是不是大于(a+b+c)/2,是就输出对应的字母加-yes,负责输出all-no
仿另一位答主,C++代码
#include
using namespace std;
int main() {
int vote, Tot = 0, v[3] = {0}, max = 0, pos;
while (cin >> vote && vote != -1)
if (vote >= 1 && vote <= 3) {
++v[vote - 1];
Tot++;
}
for (int i = 0; i < 3; i++) {
cout.put ('A' + i) << "=" << v[i] << endl;
if (v[i] > max) {
max = v[i];
pos = i;
}
}
cout << "Tot=" << Tot << endl;
if (2 * v[pos] > Tot % 2 ? Tot + 1 : Tot) {
cout.put ('A' + pos) << "-yes";
return 0;
}
else
cout << "all-No";
return 0;
}