说明:
一、定义结构体数组的一般形式是:
1.struct 结构体名
{
成员列表
}数组名[数组长度];
2.先声明一个结构体类型(如:struct Person),然后再使用此类型定义结构体数组;
如:
struct Person leader[3]; //leader是结构体数组名
二、初始化
如:
struct Person leader[3]={“Li”,0,”Zhang”,0,”Sun”,0};
举例:
有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入候选人的名字,最后时输出个人得票结果。
#include<stdio.h>
#include<windows.h>
#include<string.h>
struct Person
{
char name[20];
int count;
}leader[3] = { "Li", 0, "Zhang", 0, "Sun", 0 };
int main()
{
int i = 0, j = 0;
char leader_name[20];
for (i = 0; i < 3; i++)
{
printf("please input the name of leader:\n");
gets_s(leader_name,20);
for (j = 0; j < 3; j++)
{
if ((strcmp(leader_name, leader[j].name)==0))
{
leader[j].count++;
}
}
}
printf("\nResult:\n");
for (i = 0; i < 3; i++)
{
printf("%5s:%d\n",leader[i].name,leader[i].count);
}
system("pause");
return 0;
}
注意:接收名字的时候用gets_s();进行接收。切记不可用scanf_s(“%s”,leader_name);