#include<stdio.h>
#include<string.h>
#define N 3
struct Person
{
char name[20];
int count;
};
int main()
{
int i,j;
Person leader[N];
Person *p=leader;
printf("请输入候选人姓名:\n");
for(i=0;i<N;i++)
{
scanf("%s0",leader[i].name,&leader[i].count);
} //初始化为0=count
char leader_name[20];
printf("选民选候选人姓名:\n");
for(i=0;i<10;i++)
{
scanf("%s",leader_name);
for(j=0;j<N;j++)
{
if(strcmp(leader_name,leader[j].name)==0)leader[j].count++;
}
}
printf("\n 选举结果: \n");
Person t;
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
{
if(p[j+1].count>p[j].count)
{
t=p[j+1];
p[j+1]=p[j];
p[j]=t;
}
}
}
for(i=0;i<N;i++)
printf("%5s:%d\n",p[i].name,p[i].count);
return 0;
}
注意初始化被选人的票数,利用scanf语句的性质,读入0.