你的程序有很多小问题。不一一列举了。
帮你修改了。你自己看一下吧。#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;
}
|