第10周 项目3 血型统计

/* 
 * Copyright (c) 2014, 烟台大学计算机学院 
 * All rights reserved. 
 * 文件名称:test.cpp 
 * 作    者:呼亚萍
 * 完成日期:2014年 11 月 3日 
 * 版 本 号:v1.0 
 * 
 * 问题描述:血型的统计
 * 输入描述:不同的血型
 * 程序输出:不同血型的个数 
 */

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int a=0,b=0,c=0,o=0;
    char blood;
    cin>>blood;
    while(blood!='X')
    {
        switch(blood)
        {
        case 'A':
            ++a;
            break;
        case 'B':
            ++b;
            break;
        case 'C':
            ++c;
            break;
        case 'O':
            ++o;
            break;
         }

       cin>>blood;
    }
    cout <<"A:"<<a<<endl;
    cout<<"B:"<<b<<endl;
    cout<<"AB:"<<c<<endl;
    cout<<"O:"<<o<<endl;
    return 0;
}



知识点总结:

在while语句中要再输入一次cin,使再次输入的值能够循环计算。

学习心得:

要不断的努力,才会有收获,学会了要善于思考,加油!

在C语言中实现个人信息(年龄、身高、血型等)的统计,可借助结构体来存储个人信息,再利用数组存储多个人的信息,最后对这些信息进行统计。 以下是一个示例代码: ```c #include <stdio.h> #include <string.h> // 定义一个结构体来存储个人信息 typedef struct { int age; float height; char blood_type[5]; } Person; // 统计平均年龄 float calculate_average_age(Person people[], int n) { int total_age = 0; for (int i = 0; i < n; i++) { total_age += people[i].age; } return (float)total_age / n; } // 统计平均身高 float calculate_average_height(Person people[], int n) { float total_height = 0; for (int i = 0; i < n; i++) { total_height += people[i].height; } return total_height / n; } // 统计不同血型的人数 void count_blood_types(Person people[], int n) { int count_A = 0, count_B = 0, count_AB = 0, count_O = 0; for (int i = 0; i < n; i++) { if (strcmp(people[i].blood_type, "A") == 0) { count_A++; } else if (strcmp(people[i].blood_type, "B") == 0) { count_B++; } else if (strcmp(people[i].blood_type, "AB") == 0) { count_AB++; } else if (strcmp(people[i].blood_type, "O") == 0) { count_O++; } } printf("血型A的人数: %d\n", count_A); printf("血型B的人数: %d\n", count_B); printf("血型AB的人数: %d\n", count_AB); printf("血型O的人数: %d\n", count_O); } int main() { // 定义一个包含3个人信息的数组 Person people[3] = { {25, 175.5, "A"}, {30, 180.0, "B"}, {22, 168.2, "O"} }; int n = sizeof(people) / sizeof(people[0]); // 计算平均年龄 float average_age = calculate_average_age(people, n); printf("平均年龄: %.2f\n", average_age); // 计算平均身高 float average_height = calculate_average_height(people, n); printf("平均身高: %.2f\n", average_height); // 统计不同血型的人数 count_blood_types(people, n); return 0; } ``` 在这个示例中,首先定义了一个`Person`结构体来存储个人的年龄、身高和血型。然后定义了几个函数来分别计算平均年龄、平均身高和统计不同血型的人数。在`main`函数中,创建了一个包含3个人信息的数组,并调用这些函数进行统计
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值