帮警长数一数【循环、分支简单综合】
时间: 1ms 内存:64M
描述:
黑猫警长在犯罪现场发现了一些血迹,现已经委托检验机构确定了血型,需要统计各种血型的样本数目。
输入:
血型序列(A/B/O/C,C代表AB型血,输入以X结束)
输出:
各种血型的数量
示例输入:
ABCAOCOAOOBX
示例输出:
A:3
B:2
O:4
AB:2
提示:
参考答案(内存最优[748]):
#include<stdio.h>
int main()
{
int a=0, b=0, ab=0, o=0;
char blood;
scanf("%c", &blood);
while(blood!='X')
{
switch (blood)
{
case 'A' :
a++;
break;
case 'B' :
b++;
break;
case 'C' :
ab++;
break;
case 'O' :
o++;
break;
}
scanf("%c", &blood);
}
printf("A:%d\n",a);
printf("B:%d\n",b);
printf("O:%d\n",o);
printf("AB:%d\n",ab);
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
int main()
{
char in;
int a, b, o, c;
a = b= o = c = 0;
while (cin >> in)
{
if (in == 'X')
break;
switch (in)
{
case 'A':
++a;
break;
case 'B':
++b;
break;
case 'O':
++o;
break;
case 'C':
++c;
break;
default:
break;
}
}
cout << "A:" << a << endl;
cout << "B:" << b << endl;
cout << "O:" << o << endl;
cout << "AB:" << c << endl;
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。