帮警长数一数【循环、分支简单综合】

帮警长数一数【循环、分支简单综合】

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注