c语言程序设计——链表的应用

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:24:43
三、实验内容
1、定义结构体,创建链表
struct xsnode

{
int xh;
char xm[15];
int gs;
int yy;
int wl;
float pj;
int mc;
struct xsnode *next;
};

2、根据以上链表结点结构,实现以下功能
a、三门课程名称的录入,学生学号、姓名的录入、显示;
b、各学生记录数据的文件保存与读取;
c、按学号查询记录,查询指定记录的修改、删除;(选作)
d、平均成绩计算,按平均成绩排序,按单科成绩排序;(选作)

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#define ID struct id
struct id
{
char name[20];
int num;
int a;
int b;
int c;
double ave;
ID *next; //
};

int pc=0;

ID *creat()
{
ID *p1,*p2,*head;
int pd;
p1=p2=head=NULL;
printf("\t\t\t 开始输入记录(学号0结束)!\n");
while(1)
{
printf("请输入学生的学号:\n");scanf("%d",&pd);
if(pd==0) break;
p1=(ID*)malloc(sizeof(ID));
p1->num=pd;
printf("请输入学生的姓名:\n");scanf("%s",p1->name);
printf("请输入学生的语文成绩:\n");scanf("%d",&p1->a);
printf("请输入学生的数学成绩:\n");scanf("%d",&p1->b);
printf("请输入学生的外语成绩:\n");scanf("%d",&p1->c);
p1-