#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,本人实在不知道怎么回事,想请问一下
顺序线性表无法输出线性表,请问如何修改,问题错哪了?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥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程序员