#include"stdio.h"
#include"malloc.h"
#define MAXSIZE 100
typedef char datatype;
typedef struct
{
datatype data[MAXSIZE];
int last;
}SeqList;
SeqList *CreatList()
{
SeqList *L;
L=(SeqList*)malloc(sizeof(SeqList));
L->last=-1;
return L;
}
void BuildList(SeqList *L)
{
int i;
printf("ÈôÄãÊäÈëµÄÊý¾ÝΪ'0'ʱ£¬Ôò½áÊøÊäÈë\n");
for(i=0;i<100;i++)
{
printf("ÊäÈëÊý¾Ý:");
scanf("%c",&L->data[i]);
getchar();
if(L->data[i]=='0')
break;
L->last++;
}
if(i==99)
printf("ÎÞ·¨¼ÌÐø´´½¨£¡\n");
printf("*************´´½¨³É¹¦£¡*************\n");
}
int InList(SeqList *L,int i,datatype d)
{
int j;
if(L->last==MAXSIZE-1)
{
printf("˳Ðò±íÒÑÂú!\n");
return -1;
}
if(i<1||i>L->last+1)
{
printf("λÖóö´í!\n");
return 0;
}
for(j=L->last+1;j>=i;j--)
L->data[j]=L->data[j-1];
L->data[i-1]=d;
L->last++;
printf("²åÈë³É¹¦!\n");
return 1;
}
int DeleteList(SeqList *L,int k)
{
int j;
if(k<1||k>L->last+1)
{
printf("²»´æÔÚ´ËλÖÃ!\n");
return 0;
}
for(j=k;j<=L->last;j++)
L->data[j-1]=L->data[j];
L->last--;
printf("ɾ³ý³É¹¦!\n");
return 1;
}
void PrintList(SeqList *L)
{
int i;
printf("±íÖеÄÊý¾ÝΪ£º\n");
for(i=0;i<=L->last;i++)
printf("%c\n",L->data[i]);
}
int Location(SeqList *L,datatype x)
{
int i=0;
while(i<=L->last&&L->data[i]!=x)
i++;
if(i>L->last)
return -1;
else return i;
}
int LengthList(SeqList *L)
{
return L->last;
}
int main()
{
int a,i,result;
SeqList *L;
datatype d;
while(1)
{
printf("\n ÏßÐÔ±í×Óϵͳ \n");
printf("**********************\n");
printf("* 1------½¨ ±í *\n");
printf("* 2------²å Èë *\n");
printf("* 3------ɾ ³ý *\n");
printf("* 4------ÏÔ Ê¾ *\n");
printf("* 5------²é ÕÒ *\n");
printf("* 6------È¥±í³¤ *\n");
printf("* 7------·µ »Ø *\n");
printf("**********************\n");
printf("Ñ¡Ôñ²Ëµ¥ºÅ£¨1-7£©:\n");
scanf("%d",&a);
switch(a)
{
case 1:
L=CreatList();
BuildList(L);
break;
case 2:
printf("ÇëÊäÈë²åÈëÔªËØµÄλÖÃÐÅÏ¢£º");
scanf("%d",&i);
printf("\nÇëÊäÈë²åÈëÔªËØµÄÖµ£º");
scanf("%c",&d);
getchar();
InList(L,i,d);
break;
case 3:
printf("ÇëÊäÈëɾ³ýÔªËØµÄλÖÃÐÅÏ¢£º");
scanf("%d",&i);
DeleteList(L,i);
break;
case 4:
PrintList(L);
break;
case 5:
printf("ÇëÊäÈëÐèÒª²éÕÒµÄÔªËØµÄÖµ£º");
scanf("%c",&d);
result=Location(L,d);
if(result==-1)
printf("\nδÕÒµ½¸ÃÔªËØ!\n");
else
printf("¸ÃÔªËØµÄλÖÃΪ%d",result+1);
break;
case 6:
printf("µ±Ç°ÏßÐÔ±íµÄ³¤¶ÈΪ£º%d\n",LengthList(L)+1);
break;
case 7:
return 0;
default:
printf("±§Ç¸£¬µ±Ç°Ôݲ»ÄÜÂú×ã´ËÏîÒµÎñÐèÇó!");
}
}
}
截屏2023-03-12 18.27.55
这是什么原因
为什么显示元素显示为空白