雨与鱼余玉 2022-03-25 20:22 采纳率: 80%
浏览 47
已结题

大一小白c语言问题求解

问题遇到的现象和发生背景

在输出时没有集体的员工信息

问题相关代码,请勿粘贴截图 {
 char position[20];
    char number[20];
    char name[20];
    char level[20];
    int salary;
}ElemType;
typedef struct
{
    ElemType data[Maxsize];
    int length;
}SqList;

void CreateList(SqList*&L,ElemType a[],int n)
{
    int i=0,k=0;
    L=(SqList*)malloc(sizeof(SqList));
    while(i<n)
    {
        L->data[k]=a[i];
        k++;
        i++;
    }
    L->length=k;
}
int ListEmpty(SqList*L)
{
    return(L->length==0);
}
void DispList(SqList*L)
{
    int i;
    if(ListEmpty(L))
    {
        return;
    }
    printf("员工信息为:\n");
    for(i=0;i<L->length;i++)
    {
        printf("%s %s %s %s %s %d",L->data[i].position,L->data[i].number,L->data[i].name,L->data[i].level,L->data[i].salary);
        printf("\n");
    }
}
int main()
    {
        SqList*L;
        int k;
        struct stuff a[5]=
        {
            {"董事长","WL001","表姐","A5",10000},
            {"总经理","WL002","凌祯","A4",9000},
            {"董事长秘书","WL003","邹新文","A3",8500},
            {"秘书","WL004","李明","B6",7000},
            {"秘书","WL005","翁国栋","B1",5000}
        };
        CreateList(L,a,5);
        DispList(L);
        return 0;
}

运行结果及报错内容

(输出的内容只有这样的)
员工信息为:

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

4条回答 默认 最新

  • CSDN专家-link 2022-03-25 20:34
    关注

    printf("%s %s %s %s %s %d",L->data[i].position,L->data[i].number,L->data[i].name,L->data[i].level,L->data[i].salary);
    这里你多了一个%s,导致薪水也用字符串输出而错误

    #define Maxsize 1000
    typedef struct stuff{
     char position[20];
        char number[20];
        char name[20];
        char level[20];
        int salary;
    }ElemType;
    typedef struct
    {
        ElemType data[Maxsize];
        int length;
    }SqList;
     
    void CreateList(SqList*&L,ElemType a[],int n)
    {
        int i=0,k=0;
        L=(SqList*)malloc(sizeof(SqList));
        while(i<n)
        {
            L->data[k]=a[i];
            k++;
            i++;
        }
        L->length=k;
    }
    int ListEmpty(SqList*L)
    {
        return(L->length==0);
    }
    void DispList(SqList*L)
    {
        int i;
        if(ListEmpty(L))
        {
            return;
        }
        printf("员工信息为:\n");
        for(i=0;i<L->length;i++)
        {
            printf("%s %s %s %s %d",L->data[i].position,L->data[i].number,L->data[i].name,L->data[i].level,L->data[i].salary);
            printf("\n");
        }
    }
    int main()
        {
            SqList*L = NULL;
            int k;
            struct stuff a[5]=
            {
                {"董事长","WL001","表姐","A5",10000},
                {"总经理","WL002","凌祯","A4",9000},
                {"董事长秘书","WL003","邹新文","A3",8500},
                {"秘书","WL004","李明","B6",7000},
                {"秘书","WL005","翁国栋","B1",5000}
            };
            CreateList(L,a,5);
            DispList(L);
            return 0;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月2日
  • 已采纳回答 3月25日
  • 创建了问题 3月25日

悬赏问题

  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。