满意答案
sseeeiod13
2018.05.13
采纳率:55% 等级:7
已帮助:359人
字符输入完要用getchar()吃掉回车#include
#include
#include
#include
#define OK 1
#define _CRT_SECURE_NO_WARNINGS
typedef int Status;
typedef char QElemType;
typedef struct LNode {
QElemType data;
struct LNode *next;
}LNode, *LinkList;
LinkList L1;
LinkList CreatList_L(LinkList L, int n);
Status DispList_L(LinkList L);
void main()
{
char c;
int n;
while (1)
{
printf("列表\n");
printf("===========================================\n");
printf("1.创建链表(字符型)\n2.遍历链表\n3.统计单链表中的字符\n");
printf("===========================================\n");
printf("请输入你的选择:");
scanf("%c", &c);
getchar();
switch (c)
{
case'1':
printf("请输入字符串的长度:\n");
scanf("%d", &n);
getchar();
L1 = CreatList_L(L1, n);
break;
case '2':
DispList_L(L1);
break;
}
}
system("PAUSE");
}
LinkList CreatList_L(LinkList L, int n)
{
int i;
LNode *p;
L = (LinkList )malloc(sizeof(LNode));
L->next = NULL;
for (i = n; i > 0; --i) {
p = (LinkList )malloc(sizeof(LNode));
printf("请输入%d个元素:\n", n - i + 1);
scanf("%c", &p->data);
getchar();
p->next = L->next;
L->next = p;
}
printf("一个拥有%d个元素的链表已经被建立\n", n);
return L;
}
Status DispList_L(LinkList L)
{
LNode *p=L;
if (p == NULL) //if (p==NULL)
{
printf("A null list!");
return 0;
}
p = p->next;
while (p != NULL)//while (p!=NULL)
{
printf("%c", p->data);
p = p->next;
}
printf("\n");
return OK;
}
00分享举报