简单的C语言程序问题 求帮助~~~
来源:百度知道 编辑:UC知道 时间:2024/09/23 04:56:01
girl->name a
girl->year 18
girl->name d
girl->year 19
girl->name f
girl->year 0
girl->name d
girl->year 19
girl->name a
girl->year 18
下面是未完成的程序,哪位朋友帮忙写完整,万分感谢~很着急 帮帮忙吧 谢谢了
#include"pseudo97.h"
typedef struct PERSON* PtrPERSON;
struct PERSON{
char name[20]; //name
long year; //age
PtrPERSON next //pointer
};
int MakeLinkedList( PtrPERSON head)
{
PtrPERSON girl;
New(girl);
InputString(girl->name);
InputInt(girl->year);
while(girl->year >0){
girl->next=head->next;
head->girl=girl;
New(girl);
InputString(girl->name);
InputInt(girl->year);
}
return 0;
}
int main(viod)
{
PtrPERSON head;
New(PtrPERSON,head)
head->next=NULL;
MakeL
程序有点垃圾。 修改如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct tagPERSON //个人信息结构
{
char name[20];
long age;
}PERSON;
//template<typename DT> //如果是C++的话,这里方便许多,可以使用模板和类
typedef struct tagLNODE* pLNODE;
typedef struct tagLNODE //链表节点
{
PERSON data;
pLNODE next;
}LNODE;
int link_insert(pLNODE *head,PERSON data)//链表插入
{
pLNODE cur_tmp,lnode_tmp;
cur_tmp=*head;
lnode_tmp=(pLNODE)malloc(sizeof(LNODE));
if(lnode_tmp==NULL)return -1;
lnode_tmp->data=data;
lnode_tmp->next=NULL;
if(*head==NULL)
*head=lnode_tmp; //如果head为空,则需要对main()中的head修改,所以head的类型为指向指针的指针
else
{
while(cur_tmp->next!=NULL)
cur_tmp=cur_tmp->next;
cur_tmp->next=lnode_tmp;
}
return 0;
}
int link_display_cmd(pLNODE head) //控制台下的链表显示
{
pLNODE cur