三个候选人,每个选民只能投一人,输入被选人姓名,输出投票结果
C程序
#include<stdio.h>
#include <stdlib.h>
struct Person
{
char name[20];
int quantity;
}leader[3]={"Li",0,"Zhang",0,"Sun",0};
int main()
{
int i,j;
char leader_name[20];
for(i=1;i<=6;i++)
{
scanf("%s",leader_name);
for(j=0;j<3;j++)
if(strcmp(leader_name,leader[j].name)==0) leader[j].quantity++;
}
printf("\n 投票结果:\n");
for(i=0;i<3;i++)
printf("%5s:%d\n",leader[i].name,leader[i].quantity);
return 0;
}
运行结果
也不算太难,学习到这里就用这个程序练练手
程序中用到了strcmp()函数
strcmp(leader_name,leader[j].name)==0)
此处 leader_name 是和 leader 数组第 j 个元素的 name 成员相比
原型:extern int strcmp(const char *st1,const char * st2);
所在头文件:string.h
功能:比较字符串st1和st2。
一般形式:strcmp(字符串1,字符串2)
说明:
当st1<st2时,返回为负数
当st1=st2时,返回值= 0
当st1>st2时,返回正数