有现成的用数组打出实验室设备排序的编码吗 我不会打

一个排序方式用一个源文件,我不会打
比如用名称 编号 种类 购买时间 购买价格 所属实验室啥的进行编码


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

#define MAX_DEVICES 100

struct Device {
    char name[30];       // 设备名称
    int id;              // 设备编号
    char type[20];       // 设备种类
    char buy_date[20];   // 购买时间
    float buy_price;     // 购买价格
    int lab_no;          // 所属实验室编号
};

int main() {
    int n;              // 设备数量
    struct Device devices[MAX_DEVICES];
    printf("请输入设备数量:");
    scanf("%d", &n);
    // 输入设备信息
    for (int i = 0; i < n; i++) {
        printf("请输入第%d个设备的信息:\n", i+1);
        printf("名称:");
        scanf("%s", devices[i].name);
        printf("编号:");
        scanf("%d", &devices[i].id);
        printf("种类:");
        scanf("%s", devices[i].type);
        printf("购买时间:");
        scanf("%s", devices[i].buy_date);
        printf("购买价格:");
        scanf("%f", &devices[i].buy_price);
        printf("所属实验室编号:");
        scanf("%d", &devices[i].lab_no);
    }
    // 按购买时间排序
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (strcmp(devices[j].buy_date, devices[j+1].buy_date) > 0) {
                // 交换两个设备的位置
                struct Device temp = devices[j];
                devices[j] = devices[j+1];
                devices[j+1] = temp;
            }
        }
    }
    // 输出排序后的设备信息
    printf("\n按购买时间排序后的设备信息:\n");
    printf("名称\t编号\t种类\t购买时间\t购买价格\t所属实验室编号\n");
    for (int i = 0; i < n; i++) {
        printf("%s\t%d\t%s\t%s\t%.2f\t%d\n", devices[i].name, devices[i].id,
               devices[i].type, devices[i].buy_date, devices[i].buy_price, devices[i].lab_no);
    }
    return 0;
}