|
发表于 2020-4-28 13:58:19
|
显示全部楼层
你的程序有很多小问题。不一一列举了。
帮你修改了。你自己看一下吧。
- #include <stdio.h>
- #include <stdlib.h>
- #include <malloc.h>
- #include <string.h>
- #define OK 1
- #define ERROR 0
- #define TRUE 1
- #define FALSE 0
- typedef int Status;
- typedef struct Data{
- char Cityname[100];
- int x,y;
- }data;
- typedef struct Citynode{
- Data data;
- struct Citynode *next;
- }citynode;
- typedef struct Citynode* Citylinklist;
- Citylinklist Creatcitylist(int n)
- {
- Citylinklist p,q;
- Citylinklist L;
- int i;
- if (n==0){
- L=NULL;
- return L;
- }
- L=(Citylinklist)malloc(sizeof(Citynode));
- printf("请输入第1个城市的数据,依次为名称,横坐标,纵坐标,以空格隔开\n");
- scanf("%s%d%d",&L->data.Cityname,&L->data.x,&L->data.y);
- L->next=NULL;
- q=L;
- for(i=1;i<n;i++)
- {
- printf("请输入第%d个城市的数据,依次为名称,横坐标,纵坐标,以空格隔开\n",i+1);
- p=(Citynode*)malloc(sizeof(Citynode));
- scanf("%s%d%d",&p->data.Cityname,&p->data.x,&p->data.y);
- //printf("%s %d %d",p->data.Cityname,p->data.x,p->data.y);
- //getchar();
- p->next=NULL;
- q->next=p;
- q=p;
- }
- return L;
- }
- int main()
- {
- Citylinklist L,p;
- int n;
- printf("请输入你想创建城市的结点数\n");
- scanf("%d",&n);
- L=Creatcitylist(n);
- return 0;
- }
复制代码 |
|