问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于C语言的链表~非常感谢

发布网友 发布时间:2024-10-11 19:34

我来回答

2个回答

热心网友 时间:2024-12-01 15:00

//WIN-TC是什么turbo? 我在DEV-C下改的,应该也没问题吧
#include<stdio.h>
#include<malloc.h>
//#define NULL 0 //不用重定义NULL把,空指针用NULL就可以
struct student
{
int num;
char name[20];
float score;
struct student *next;
};
int n=0;
/*建立动态链表*/

/* 这个函数,有重要的问题,你在函数里创建了临时类,st,head指向它,但是当这个函数结束时,这个类会被销毁,head将是个没有指向的指针,所以当在函数中返回类时,需要堆分配内存
*/
struct student *creat(void)
{
struct student *p1=NULL,*head=NULL; // 这里一个学生类指针即可
struct student *st = (struct student *)malloc(sizeof(struct student)); //同上解释
printf("Please input records:\n");
scanf("%d%s%f",&(st->num),st->name,&(st->score));
p1=st;
p1->next = NULL;
if(st->num!=0)
head=p1;
while(p1->num!=0)
/*这个链表的创立,无非就是那些步骤,你必然明白,再不行,画个示意图就明白了,注意的是,什么时候指针赋值,什么时候用指针控制变量
*/
{n=n+1;
printf("%dEnd\n",n);

p1->next = (struct student *)malloc(sizeof(struct student));
//这句话至少得有一个“->”,需要控制变量

p1->next->next = NULL;
scanf("%d%s%f",&(p1->next->num),p1->next->name,&(p1->next->score));
if(n!=1)
{
p1 = p1->next;

}
}

printf("\nOver.\n");
/*printf("%o\n",head);
if(head!=NULL)
printf("%10d%10s%10.1f\n",head->num,head->name,head->score);*/
return(head);
}
/*输出*/
void print(struct student *head)
{
struct student *p;
p=head;
/*printf("%o\n",head);*/
getch();
//if(head==NULL)
//printf("\nList null!\n");
//else
printf("\nNow,there are %d records:\n",n);
while(p!=NULL)
{
printf("%10d%10s%10.1f\n",p->num,p->name,p->score);
p=p->next;
}
}
int main()
{
struct student *head;
head=creat();
/*printf("%o\n",head);
if(head!=NULL)
printf("%10d%10s%10.1f\n",head->num,head->name,head->score);*/
print(head);
getch();

return 0;
}

/*还有些小问题,如应该创建个销毁链表函数,使堆中内存被释放,等
但不影响达到效果,做个示意够了
*/

热心网友 时间:2024-12-01 15:01

#include<stdio.h>
#include<malloc.h>
#define NULL 0
struct student
{
int num;
char name[20];
float score;
struct student *next;
};
int n=0;
/*建立动态链表*/
struct student *creat(void)
{
struct student *p1,*p2,*head=NULL;
//struct student st;
p1=(struct student *)malloc(sizeof(struct student));
printf("Please input records:\n");
scanf("%d%s%f",&p1->num,p1->name,&p1->score);//应该就这里错了,可能是形式不能匹配
//scanf("%d%s%f",&st.num,st.name,&st.score);
p2=p1;//=&st;
if(p1->num!=0)
head=p1;
while(p1->num!=0)
{n=n+1;
printf("%dEnd\n",n);
if(n!=1)
{
p2->next=p1;
p2=p1;
}
p1=(struct student *)malloc(sizeof(struct student));
scanf("%d%s%f",&p1->num,p1->name,&p1->score);
}
p2->next=NULL;
printf("\nOver.\n");
/*printf("%o\n",head);
if(head!=NULL)
printf("%10d%10s%10.1f\n",head->num,head->name,head->score);*/
return(head);
}
/*输出*/
void print(struct student *head)
{
struct student *p;
p=head;
printf("***%s\n",head->name);
//getchar();
if(head==NULL)
printf("\nList null!\n");
else
printf("\nNow,there are %d records:\n",n);
while(p!=NULL)
{
printf("%10d%10s%10.1f\n",p->num,p->name,p->score);
p=p->next;
}
}
void main()
{
struct student *head;
head=creat();
/*printf("%o\n",head);
if(head!=NULL)
printf("%10d%10s%10.1f\n",head->num,head->name,head->score);*/
print(head);
//getchar();
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
银耳茉莉汤制作要诀 茉莉银耳羹制作过程 银耳饮料茉莉银耳汤 发几张很好看的手机壁纸来 无纺壁纸的优缺点有哪些? 移动破碎机价格多少钱一台,移动破碎机需要办理什么手续 你知道窝瓜和倭瓜的区别是啥吗? 窝瓜和倭瓜是一种东西吗? 经常吃韭菜有什么危害 像素标定板 为什么青春期会长青春痘?是不是青春期的我们正在暗恋或者谈恋爱导致激素... 有人说谈恋爱青春痘都出来了,晕,有关系吗 长青春痘和谈恋爱有关么? 为什么我和男友谈恋爱时候 我脸上长痘痘 分手后我就消下去了什么... 男生是不是谈恋爱了脸上的青春痘会好些 谈恋爱长青春痘怎么办啊? 手机扫二维码模糊是什么原因手机扫二维码模糊原因 皮肤一直处于水油不平衡状态,痘痘很是顽固,隔三差五就冒出来几颗 ,没... 菏泽南站还通车吗? 父母职业怎么填写呢? 电脑桌推荐大全,游戏电脑桌、笔记本、台式电脑桌选购知识详解 哪些香料不能放一起煮着吃 英国斗牛犬多大能喂肉 现代全新ix45什么时候国产什么价格啊 樱花是啥季节开的 丽江樱花大道在哪里 丽江赏樱胜地推荐2022 卖家已退款,但买方的支付宝如何接收,如何操作? 熟板栗用微波炉加热会爆炸吗 买的螃蟹 的橡皮筋很重 是买螃蟹的三分之一. 去哪投诉 熟板栗可以放微波炉加热吗 熟板栗能不能放微波炉加热 ...等安全乙方负责,甲方不承担任何责任。这概括那些方面? ...签署了合同但是没有备案房屋租赁合同有效吗? 标准版个人房屋租赁合同范本 大学毕业还没有谈过恋爱是怎样的一种体验 打篮球进攻后重心不稳 山在虚无缥缈间歌词山在虚无缥缈间歌词是什么 怎么练下盘功夫 新生儿脸上有小白点怎么治疗 新生儿脸上长小白点怎么治疗 如何练下盘功夫才有快速的进展? 一岁宝宝脸上长痘痘是怎么回事 宝宝皮肤容易出现的问题! 新生儿长痘痘有白尖是什么 《名侦探柯南》22处取景地神还原! 名侦探柯南有关三水吉右卫门的集数 气体灭火系统检测步骤 在气体灭火系统正常运行情况下应多长时间对气体灭火系统进行检查 女生脸上长了豆豆,男生还会喜欢么? 男生会追满脸痘痘的女孩子吗? 一个帅男生会喜欢一个长了痘痘的女生吗