m0_50791220 2020-10-23 23:18 采纳率: 25%
浏览 83

顺序线性表无法输出线性表,请问如何修改,问题错哪了?

#include
#include
#include
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXSIZE 10//顺序表可能达到的最大长度
typedef struct {
//匿名结构体
char no[20];
char name[8];
char tel[20];
}Information;//学生信息
typedef struct {
Information* elem;
int length;
}Sqlist;//学生表的顺序存储结构类型为Sqlist
int InitList(Sqlist L) {
//初始化顺序线性表
L->elem=(Information
)malloc(sizeof(Information)*MAXSIZE);
if (!L->elem)exit(OVERFLOW);
return OK;
}
Sqlist Create(Sqlist L) {
//顺序表的建立
int i;
for (i = 0; i < 3; i++) {
printf("请输入 学号: ");
scanf_s("%s", &L.elem[i].no,20);
printf("姓名:");
scanf_s("%s", &L.elem[i].name,8);
printf("电话号码:");
scanf_s("%s", &L.elem[i].tel,20);
printf("\n");
L.length++;
}
return L;
}
int visit(Information elem) {
printf("%s",elem.no);
printf("%s", elem.name);
printf("%s", elem.tel);
return OK;
}
/* 初始条件:顺序线性表L已存在 /
/
操作结果:依次对L的每个数据元素输出 /
int ListTraverse(Sqlist L) {
int i;
for (i = 0; i < L.length; i++) {
visit(L.elem[i]);
}
printf("\n");
return OK;

}
/
初始条件:顺序线性表L已存在,1≤i≤ListLength(L),
操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1 /
int ListInsert(Sqlist
L, int i, Information e) {
int k;
if (L->length == MAXSIZE) return ERROR;
if (iL->length + 1)return ERROR;
if (i < L->length) {
for (k = L->length - 1; k >= i - 1; k--)
L->elem[k + 1] = L->elem[k];
}
L->elem[i - 1] = e;
L->length++;
return OK;
}
int main() {
Sqlist L;
int opp=1;
int pos;
Information value;
InitList(&L);
printf("初始化成功,L.length=%d\n", L.length);
printf("\n1.遍历线性表 \n2.线性表赋值 \n3.线性表插入 \n0.退出 \n请选择你的操作:\n");
while (opp!='0')
{
scanf_s("%d", &opp);
switch (opp)
{
case 1:
ListTraverse(L);
printf("\n");
break;
case 2:
L = Create(L);
printf("赋值完毕,现在通讯录:");
ListTraverse(L);
printf("\n");
break;
case 3:
printf("请输入插入元素位置:");
scanf_s("%d", &pos);
printf("请输入插入元素的值:");
printf("请输入 学号: ");
scanf_s("%s", &value.no,20);
printf("姓名:");
scanf_s("%s", &value.name,8);
printf("电话号码:");
scanf_s("%s", &value.tel,20);
ListInsert(&L, pos, value);
printf("\n");
printf("插入完毕,现在通讯录:\n");

ListTraverse(L);

printf("\n");
break;
case 0:
exit(OVERFLOW);

}
}
}
图片说明
最后没有输出tong'xun'lu,本人实在不知道怎么回事,想请问一下

  • 写回答

1条回答 默认 最新

  • m0_50791220 2022-11-26 20:46
    关注

    ????

    评论

报告相同问题?

悬赏问题

  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员