文章
9
粉丝
135
获赞
9
访问
107.0k
编程建立一个三个结点的链表,存放三个学生的数据,并输出第一个学生的数据信息。假定学生数据结构中只有学号、姓名、成绩三项。可编写一个建立链表的函数creat()。(可自行定义结构体类型)
编程题,如有错误欢迎指出!
#include<stdio.h>
#include<malloc.h>
//声明结构体
struct sdudent
{
float xuehao;
char name[20];
float score;
struct student *next;
};
//创建链表,包含头指针有三个节点的链表
struct student *creat(void)
{
int i;
struct sdudent *p = ( struct sdudent*)malloc(sizeof(struct sdudent));
//声明指向头节点的指针
struct sdudent *q = p;
q->next=NULL;
//创建链表
for(i=0;i<3;i++){
struct sdudent *a = ( struct sdudent*)malloc(sizeof(struct sdudent));
printf("请输入第%d个同学的信息",i+1);
scanf("%f,%s,%f",&a->xuehao,&a->name,&a->score);
a->next = q->next;
q->next=a;
q=a;
}
return p;
};
void main(){
struct sdudent *p;
p=creat();
printf("学号:%f, 姓名:%s, 成绩:%f",p->xuehao,p->name,p->score);
}
登录后发布评论
暂无评论,来抢沙发