黑马程序员技术交流社区

标题: 1103-结构体数组 [打印本页]

作者: wangshengjie    时间: 2015-3-13 00:31
标题: 1103-结构体数组
/*
        一、结构体数组的定义及初始化:与定义结构体变量的方法类似,只需说明其为数组即可。
                1、        struct 结构体名
                        {
                                成员表列
                        };
                        struct 结构体名 数组名[常量表达式];
                       
                        例如:       
                        struct student
                        {
                                int num;
                                char name[20];
                                int age;
                                float score;
                                char addr[30];
                        };
                        struct student stu[3]={{···},{···},{···}};

                2、直接定义结构体数组
                        struct 结构体名
                        {

                                成员表列

                        }数组名[常量表达式];
                       
                        例如:                                                       
                        struct student
                        {
                                int num;
                                char name[20];
                                int age;
                                float score;
                                char addr[30];
                        }stu[3]={{···},{···},{···}};
                       
                        struct
                        {
                                int num;
                                char name[20];
                                int age;
                                float score;
                                char addr[30];
                        }stu[ ]={{···},{···},{···}};

*/

/*
        对候选人得票的统计程序。设有3个候选人,每次输入一个得票的候选人名字,求出最后输出各人得票结果。
*/
#include<stdio.h>
#include<string.h>

struct person
{
        char name[20];
        int count;
}leader[3] = { { "Li", 0 }, { "Zhang", 0 }, { "Fun", 0 } };

void main()
{
        int i, j;
        char leader_name[20];
       
        for (i = 0; i < 10; i++)
        {
                scanf("%s",leader_name);

                for (j = 0; j < 3; j++)
                {
                        if (strcmp(leader_name, leader[j].name) == 0)leader[j].count++;
                }       
        }

        printf("\n");

        for (i = 0; i < 3; i++)
                printf("%5s:%d\n", leader[i].name, leader[i].count);
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2