创建一个汉字链表输出有问题?
#include<stdio.h>
#define MAX_RESULT_LENGTH 2
typedef struct LNode {
char hanzi[MAX_RESULT_LENGTH]; // 存储汉字
struct LNode* next; // 下一个节点的指针
} PinyinEntryNode,*PinyinList;
void Initlist(PinyinList &L)
{
L=new LNode;
L->next=NULL;
}
void Creatlist_H(PinyinList &L,int n)
{
PinyinList p;
L=new LNode;
L->next=NULL;
for(int i=0;i<n;++i)
{
p=new LNode;
printf("输入第%d个:\n",i+1);
scanf("%s",&p->hanzi);
p->next=L->next;
L->next=p;
}
printf("输入成功\n");
}
void Print(PinyinList &L)
{
while (L ->next!= NULL)
{
printf("%s ", L->hanzi);
L= L->next;
}
}
main()
{
PinyinList L,p;
int n;
Initlist(L);
printf("请输入个数:");
scanf("%d",&n);
printf("输入汉字\n") ;
Creatlist_H(L,n);
Print(L);
}
回复
1个回答
test
2024-07-04
#include<stdio.h>
#define MAX_RESULT_LENGTH 4
typedef struct LNode {
char hanzi[MAX_RESULT_LENGTH]; // 存储汉字
struct LNode* next; // 下一个节点的指针
} PinyinEntryNode,*PinyinList;
void Initlist(PinyinList &L)
{
L=new LNode;
L->next=NULL;
}
void Creatlist_H(PinyinList &L,int n)
{
PinyinList p;
L=new LNode;
L->next=NULL;
for(int i=0;i<n;++i)
{
p=new LNode;
printf("输入第%d个:\n",i+1);
scanf("%s",&p->hanzi);
p->next=L->next;
L->next=p;
}
printf("输入成功\n");
}
void Print(PinyinList L)
{
L = L->next; // Skip the head node
while (L != NULL)
{
printf("%s ", L->hanzi);
L= L->next;
}
}
int main()
{
PinyinList L;
int n;
Initlist(L);
printf("请输入个数:");
scanf("%d",&n);
printf("输入汉字\n") ;
Creatlist_H(L,n);
Print(L);
return 0;
}
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容