结构体

【结构体】
    结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
    定义结构体的一般形式为:
    struct 结构体名
    {
        成员类型 成员名;
        ......
        成员类型 成员名;
    };
   
    几种定义结构体变量的实现方法:
    struct 结构体名
    {
        成员类型 成员名;
        ......
        成员类型 成员名;
    } 变量名1,变量名2 ......;
   
    也可以去掉结构体名,直接定义结构体变量。
    struct
    {
        成员类型 成员名;
        ......
        成员类型 成员名;
    } 变量名1, 变量名2,... ...;

    还可以先定义结构体,再定义结构体变量。
    struct 结构体名
    {
        成员类型 成员名;
        ......
        成员类型 成员名;
    };

    struct 结构体名 变量名1,变量名2,... ... ;

    注意:结构体为它的每一个成员都分配存储空间。

#include <stdio.h>

struct personnel
{
        char name[20];
        char sex[10];
        int  age;
        double salary;
};

void input(struct personnel pers[],int n)
{
        int i;
        for(i=0; i<n; i++)
        {
                printf("请输入员工的姓名:\n");
                scanf("%s", &pers[i].name);
                printf("请输入员工的性别:\n");
                scanf("%s", &pers[i].sex);
                printf("请输入员工的年龄:\n");
                scanf("%d", &pers[i].age);
                printf("请输入员工的月薪:\n");
                scanf("%lf", &pers[i].salary);
        }
        return ;
}

struct personnel find_max(struct personnel pers[], int n)
{
        int i, index;
        double tmp;
        tmp = pers[0].salary;
        for(i=1; i<n; i++)
        {
                if(pers[i].salary > tmp)
                {
                        index = i;
                        tmp = pers[i].salary;
                }
        }
        return pers[index];
}

struct personnel find_min(struct personnel pers[], int n)
{
        int i, index;
        double tmp;
        tmp = pers[0].salary;
        for(i=1; i<n; i++)
        {
                if(pers[i].salary < tmp)
                {
                        index = i;
                        tmp = pers[i].salary;
                }
        }
        return pers[index];
}

void print(struct personnel pers)
{
        printf(" 员工姓名:%s\t性别:%s\t年龄:%d\t月薪:%6.2f\n",
               pers.name,pers.sex,pers.age,pers.salary);
        return;
}

void main()
{
        struct personnel pers[4], pers_max, pers_min;
        input(pers, 4);
       
        pers_max=find_max(pers, 4);
        pers_min=find_min(pers, 4);
        printf("\n工资最高的员工信息\n");
        print(pers_max);
        printf("\n工资最低的员工信息\n");
        print(pers_min);
       
        return;
       
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值