下面举一个简单的例子来说明结构体数组的定义和引用。 例7.2 对候选人得票的统计程序。设有3个候选人,最终只能有1人当选为领导。今有10个人参加投票,从键盘先后输入这10个人所投的候选人的名字,要求最后输出这3个候选人的得票结果。 可以定义一个候选人结构体数组,包括3个元素,在每个元素中存放有关的数据。 程序如下: #include <iostream> struct Person //声明结构体类型Person { char name[20]; int count; }; int main( ) { Person leader[3]={″Li″,0,″Zhang″,0,″Fun″,0}; //定义Person类型的数组,内容为3个候选人的姓名和当前的得票数 int i,j; char leader_name[20]; //leader_name为投票人所选的人的姓名 for(i=0;i<10;i++) {cin>>leader_name; //先后输入10张票上所写的姓名 for(j=0;j<3;j++) //将票上姓名与3个候选人的姓名比较 if(strcmp(leader_name,leader[j].name)==0) leader[j].count++; //如果与某一候选人的姓名相同,就给他加一票 } cout<<endl; for(i=0;i<3;i++) //输出3个候选人的姓名与最后得票数 {cout<<leader[i].name<<″:″<<leader[i].count<<endl;} return 0; } 运行情况如下: Zhang↙ (每次输入一个候选人的姓名) Li↙ Fun↙ Li↙ Zhang↙ Li↙ Zhang↙ Li↙ Fun↙ Wang↙ Li:4 (输出3个候选人的姓名与最后得票数) Zhang:3 Fun:2
评论