模拟n个人参加选举的过程,四个 候选人A、B、C、D。若选举某人直接 输入其编号,最后按获得票数从高到 低排序并输出候选人编号和票数。
struct Election {
long num;
int poll;
};
void printf_el(struct Election el[],int arr_len){
for (int i=0; i<arr_len; i++) {
printf("%ld\t%d\n",el[i].num,el[i].poll);
}
}
void paixu_el(struct Election el[],int arr_len){
for (int i=0; i<4; i++) {
for (int j=0; j<4-1-i; j++) {
if (el[j].poll>el[j+1].poll) {
struct Election item=el[j];
el[j]=el[j+1];
el[j+1]=item;
}
}
}
}
int main(int argc, const char * argv[])
{
struct Election el[4]= {1,0,2,0,3,0,4,0};
int n=1000;
for (int i=0; i<n; i++) {
int num=arc4random()%4+1;
if (num==1) {
el[0].poll++;
}else if (num==2){
el[1].poll++;
}else if (num==3){
el[2].poll++;
}else{
el[3].poll++;
}
}
paixu_el(el,4);
printf_el(el,4);
return 0;
}
该博客介绍了使用C语言实现的一个简单模拟选举过程的程序。程序中有四位候选人A、B、C、D,用户输入的每个编号对应增加相应候选人的票数。最后程序会根据票数对候选人进行降序排序,并输出他们的编号和票数。


被折叠的 条评论
为什么被折叠?



