基于顺序表的学生成绩管理

某班级某科目的成绩为:78,98,65,85,…,采用顺序存储方式,实现对此成绩表的创建、插入、删除、查找等操作。

编写程序实现顺序表定义、初始化、插入、删除、查找算法,并编写应用测试。应用测试为基于顺序表的简易学生成绩管理。

为了简化问题,此处成绩表只包含所有学生的某科目成绩信息

部分代码

#include <stdio.h>

#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

#define MaxSize 100

typedef int DataType;

//定义顺序表结构体

typedef struct node

{

 DataType data[MaxSize];

 int Length;

}SeqList,*PSeqList;

PSeqList Init_SeqList();//初始化函数声明

int Insert_SeqList(PSeqList PL,int i,DataType x);//插入数字1函数声明

void Print_SeqList(PSeqList PL); //函数声明

int main(void)

{

  int i;

 DataType x;

 PSeqList PL=Init_SeqList();

 printf("请输入五个数:\n");

 for(i=1;i<=5;i++)

 {

  scanf("%d",&x);

  Insert_SeqList(PL,i,x);

 }

 Print_SeqList(PL);

 return 0;

}

PSeqList Init_SeqList()//初始化,函数定义

{

 //分配空间

 PSeqList PL;

 PL=(PSeqList)malloc(sizeof(SeqList));

 if(PL)

 PL->Length=0;

 return PL; 

}

int Insert_SeqList(PSeqList PL,int i,DataType x)//插入字符

{

 int j;

 //合法检查

 if(!PL)//PL==NULL

 {

  printf("空表\n");

  return -1;

 }

 if(PL->Length>=MaxSize)//超过最大长度

 {

  printf("表满了\n");

  return -2;

 }

 if(i<1||i>PL->Length+1)

 {

  printf("插入位置非法\n");

  return -3;

 }

 //后移

 for(j=PL->Length-1;j>=i-1;j--)

 {

  PL->data[j+1]=PL->data[j];

 }

 //赋值

 PL->data[i-1]=x;

 // 更新长度

 PL->Length++;

 return 0;

}

void Print_SeqList(PSeqList PL)//打印插入完的列表

{

 int i;

 for(i=1;i<=PL->Length;i++)

 {

  printf("%d\t",PL->data[i-1]);

 }

 printf("\n");

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值