假设有10个选民,三个候选人(zhang、wang、li)。选民输入候选人名字(不分大小写)进行投票,最后输出所有候选人的得票数和废票数(输入错误,比如输入:liu)
具体代码如下:
#include<stdio.h>
#include<string.h>
//候选人和票数
struct choice
{
char name[10];
int count;
};
int main()
{
struct choice people[4]={
{"zhang",0},
{"li",0},
{"wang",0},
{"invalid",0}
};
int i,j;
char Name[10];
//输入选民投票并对大小写进行转换
for(i=0;i<10;i++){
gets(Name);
for(j=0;Name[j]!='\0';j++){
if(Name[j]>='A' && Name[j]<='Z'){
Name[j]=Name[j]+32;
}
}
//统计每个候选人得票数和废票数
if(strcmp(Name,"zhang")==0)
people[0].count++;
else if(strcmp(Name,"li")==0)
people[1].count++;
else if(strcmp(Name,"wang")==0)
people[2].count++;
else
people[3].count++;
}
printf("name count");
printf("%-7s %d\n",people[0].name,people[0].count);
printf("%-7s %d\n",people[1].name,people[1].count);
printf("%-7s %d\n",people[2].name,people[2].count);
printf("%-7s %d\n",people[3].name,people[3].count);
}