C语言初步-第36讲: 用循环处理文字(血型统计 )

本文介绍了一个简单的C语言程序,该程序用于统计输入序列中的不同血型数量。通过使用getchar()函数读取字符并利用switch语句进行条件判断,实现了对A、B、O、AB四种血型的有效计数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务和代码:

/*
*Copyright (c)2017 优快云学院
*All rights reserved
*文件名称:main.c
*作者: Osseyda
完成日期:2017.9.23
*版本号:v2.
*
*问题描述:黑猫警长在犯罪现场发现了一些血迹,现已经委托检验机构确定了血型,需要统计各种血型的样本数目。
           血型序列(A/B/O/C,C代表AB型血,输入以X结束)
           输入样例:ABCAOCOAOOBX
*问题输出:各种血型的数量  输出样例:A:3  B:2  O:4  AB:2
*/
#include <stdio.h>
int main(){
    char i;
    int a=0,b=0,o=0,c=0;
    printf("输入血型序列:");
    while((i=getchar())!='X'){
        switch(i){
        case 'A':
            a++;
            break;
        case 'B':
            b++;
            break;
        case 'O':
            o++;
            break;
        case 'C':
            c++;
            break;
        }
    }
    printf("A:%d B:%d O:%d AB:%d",a,b,o,c);
    return 0;
}
运行结果:

知识点总结:

1,用循环处理文字;2.getchar(),putchar()函数的使用;3.多分枝结构使用switch语句

心得:

1.我做这道题的思路是,先把循环结构搭建好,然后再去处理里面的信息并想到用switch语句

2.很久没用switch语句,导致一开始没有break语句,故输出结果是其前面的累加

3.case语句中的字符可以是ASCII中对应的十进制数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值