对候选人得票的统计程序

作者 : admin 本文共801个字,预计阅读时间需要3分钟 发布时间: 2024-06-16 共1人阅读

        一个结构体变量中可以存放一组数据(如一个学生的学号、姓名、成绩等数据)。如果有10个学生的数据需要参加运算,显然应该用数组,这就是结构体数组。结构体数组与以前介绍过的数值型数组不同之处在于:每个数组元素都是一个结构体类型的数据,它们都分别包括各个成员项。

        下面举一个简单的例子来说明结构体数组的定义和引用。

        设有3个候选人,最终只能有1个人当选为领导。今有10个人参加投票,从键盘先后输入这10个人所投候选人的名字,要求最后输出各候选人得票结果。
        可以定义一个候选人结构体数组,包括10个元素,在每个元素中存放有关的数据。

编写程序:

对候选人得票的统计程序插图

程序分析:
        程序定义一个全局的结构体数组leader,它有3个元素,每一元素包含两个成员name(姓名)和count(得票数)。在定义数组时使之初始化,使3位候选人的票数都先置零。
        在主函数中定义字符数组leader_name,它代表选票上被选人的姓名。在10次循环中每次输入一张选票上的信息(一个被选人的姓名),然后把它与3个候选人姓名一一相比,看它和哪一个候选人的名字相同。注意leader_name是和leader[j].name相比,leader[j]是数组leader的第j个元素,它包含两个成员项,leader_name应该和leader数组第j个元素的name成员相比。当j为某一值时,若输入的姓名与leader[j].name相等,就执行”leader[j].count++”。使leader[j]的成员count的值加1,表示此人又得了一票。在输入和统计结束之后,将3人的名字和得票数输出。
        在这个例子中,也可以不用字符数组而用string方法的字符串变量来存放姓名数据,程序可修改如下:

对候选人得票的统计程序插图(1)

运行结果:

对候选人得票的统计程序插图(2)

        显然后一个程序使用更方便,易读性更好。

本站无任何商业行为
个人在线分享 » 对候选人得票的统计程序
E-->