#include#define VOTES 25//总票数/人
#define CANDIDATES 5//候选人
//模拟投票函数原型
void vote();
typedef struct{
char name[10];
int age;
char gender;
int votes;
}CANDIDATE;
CANDIDATE cdd[CANDIDATES]={{"Zhang",18,'m',0},{"Wang",19,'m',0},{"Zhao",19,'f',0},{"Li",17,'m',0},{"Qian",18,'f',0}},*p_cdd = cdd;
void main(){
//投票开始
vote();
//打印测试
for(;p_cdd < cdd + CANDIDATES;p_cdd++){
printf("name : %s\nage : %d\ngender : %c\nvotes : %d\n",p_cdd->name,p_cdd->age,p_cdd->gender,p_cdd->votes);
printf("----------------------------------------------\n");
}
//
p_cdd = &cdd[0];
int temp = 0;
int votes_max = p_cdd->votes;
//找出最高得票
for(int i = 1; i < CANDIDATES;i++){
if(votes_max < (p_cdd+i)->votes ){
votes_max = (p_cdd+i)->votes;
temp = i;
}
}
//打印最高得票者
printf("最高得票者如下:\n");
for(;p_cdd < cdd + CANDIDATES;p_cdd++){
if(p_cdd->votes == votes_max)
printf("%s\n",p_cdd->name);
}
}
//模拟投票函数实现
void vote(){
//调用库函数random模拟投票
//设置随机数种子
srand(time(0));
for(int i = 1;i <= VOTES;i++){
(p_cdd+rand()%CANDIDATES)->votes++;
}
}