继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第12天 嵌入式工程师学习笔记

慕粉152226940
关注TA
已关注
手记 72
粉丝 7
获赞 43

【备战春招】第12天 嵌入式工程师学习笔记

课程信息

课程内容概述

1. 简介

本节介绍了C语言中的顺序表的创建、判满、输入、输出。

2. 存储图形示例

图片描述

3. 代码示例

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX 10

// 实际学⽣的存储
struct student
{
    char name[20];
    int id;
    int age;
};

typedef struct student datatype_t;

typedef struct
{
    datatype_t buf[MAX]; // 定义数组记录班级学⽣每个学⽣的信息。
    int n;               // 学⽣实际到来的个数。
} seqlist_t;

seqlist_t *create_empty_seqlist()
{
    seqlist_t *t = NULL;

    t = (seqlist_t *)malloc(sizeof(seqlist_t));

    if (NULL == t)
    {
        printf("malloc fail!");
        return NULL;
    }

    memset(t, 0, sizeof(seqlist_t));

    return t;
}

int is_full_seqlist(seqlist_t *l)
{
    return l->n < MAX ? 0 : 1;
}

void insert_data_seqlist(seqlist_t *l, datatype_t data)
{
    l->buf[l->n++] = data;
}

void printf_data_seqlist(seqlist_t *l)
{
    printf("NAME\tID\tAGE\t\n");

    for (int i = 0; i < l->n; i++)
    {
        datatype_t t = l->buf[i];
        printf("%s%d%d\n", t.name, t.id, t.age);
    }
}

int main()
{
    seqlist_t *st = NULL;

    st = create_empty_seqlist();

    while (is_full_seqlist(st) != 1)
    {
        printf("please input student info\n");
        datatype_t t;

        scanf("%s%d%d", &t.name, &t.id, &t.age);

        insert_data_seqlist(st, t);
    }

    printf_data_seqlist(st);

    return 0;
}

运行结果

please input student info
20 20 20
please input student info
20 20 20
please input student info
20 
20 20
please input student info
20
21 2
please input student info
21 22 23
please input student info
22 23 24
please input student info
25 26 23
please input student info
25 25 25
please input student info
45 58 69
please input student info
45 5 2
NAME    ID      AGE
202020
202020
202020
20212
212223
222324
252623
252525
455869
4552

学习心得

C语言中的数据结构,实践练习了顺序表的创建、判满、输入、输出,感觉很有收获。

课程截图

1. 示例

图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP