程序无法执行,求大神指教

眉眼盈盈处 2014-03-20 02:50:13
#include <stdio.h>
#include <iostream.h>
#define MAXSIZE 100
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length;
}Sqlist;


void InitList(Sqlist &L) //初始化设置
{
L.length=0;
}

void CreatSqlist(Sqlist &L,int n) //建立顺序储存链表
{
int i;
for(i=0;i<n;i++)
scanf("%d",&L.data[i]);
L.length=n;
fflush(stdin);
}

void Output(Sqlist &L) //输出顺序表L
{
int i;
for(i=0;i<L.length;i++)
printf("%5d",L.data[i]); //每个数据占5列
printf("\n");

}


int Empty(Sqlist L) //判断空链表
{
if(L.length==0) return 1;
else return 0;
}


int Insert (Sqlist &L,ElemType x,int i)
{
int k;
if(i<0||i>L.length||L.lenght==MAXSIZE)
return 0;
else
{
for (k=L.length ;k>=i;k--)
L.data[k]=L.data[k-1];
L.data[i]=x;
L.length=L.length+1;
}
return 1;
}


int Delete(Sqlist &L,int i)
{
int k;
if(i<0||i>=L.length)
return 0;
else
{
for(k=i;k<L.length;k++)
L.data[k]=L.data[k+1];
L.length--;
}
return 1;
}


void Merge(Sqlist a,Sqliat b,Sqlist &c)
{
int i=0,j=0,k=0;
while(i<a.length)
{
c.data[k]=a.data[i];
i++;k++;

}
while(j<b.length)
{
c.data [k]=b.data[j];
j++;k++

}

}

void Output()
{
int i;
for (i=0;i<10;i++)
printf(" ");
for (i=0;i<32;i++)
printf("*");
printf("\n");
}

void mainpp()
{
int i;
output();
for (i=0;i<10;i++) printf(" "); printf ("* ");
printf("1.建立一个顺序表");
for (i=0;i<10;i++) printf(" "); printf ("* "); printf("\n");
for (i=0;i<10;i++) printf(" "); printf ("* ");
printf("2.输出一个顺序表");
for (i=0;i<10;i++) printf(" "); printf ("* "); printf("\n");
for (i=0;i<10;i++) printf(" "); printf ("* ");
printf("3.插入一个元素");
for (i=0;i<2;i++) printf(" "); printf ("* "); printf("\n");
for (i=0;i<10;i++) printf(" "); printf ("* ");
printf("4.删除一个元素");
for (i=0;i<2;i++) printf(" "); printf ("* "); printf("\n");
for (i=0;i<10;i++) printf(" "); printf ("* ");
printf("5.将两个顺序表合并");
for (i=0;i<8;i++) printf(" "); printf ("* "); printf("\n");
for (i=0;i<10;i++) printf(" "); printf ("* ");
printf("0.退出");
for (i=0;i<8;i++) printf(" "); printf ("* "); printf("\n");
output();

}

void main()
{
int n,i,k=1,m,x;
Sqlist l,a,c;
InitList(l);
mainpp();
while(k)
{
printf("请选择0--5");
scanf("%d",&m);
getchar();
switch(m)
{
case 0: return;

case 1:{ printf("输入元素值,构建顺序表:\n");
printf("请输入顺序表元素个数: ");
scanf("%d",&n);
CreatSqlist(l,n);
Output(l);
break;
}
case 2:Output(l);printf("\n");break;
case 3:{ printf("输入要插入的元素的位置以及其值: ");
fflush(stdin);
scanf("%d",&i);
scanf("%d",&x);
Insert(l,x,i);
Output(l); //输出插入元素之后的链表
printf("\n");
break;
}
case 4:{ printf("输入要删除元素的位置: ");
fflush(stdin); //清除一个流
scanf("%d",&i);
Delete(l,i);
Output(l);
break;
}
case 5:{ InitList(la);
printf("输入第二个顺序表的元素个数: ");
scanf("%d",&m);
CreatSqlise(la,m);
Output(la);
Merge(l,la,lc);
printf("输出合并后顺序表中的元素:\n");
Output(lc);
break;
}
default:return;

}
printf("继续? yes(1)/no(0): ");
scanf("%d",&k);
if(!k) return;
}
}
...全文
149 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧