顺序表简单操作:
完成以下4个函数定义并调用:
1.void prtPass(SeqList *lp);//输出及格元素
2.double countPassAvg(SeqList *lp);//求线性表中及格元素的平均值
3.void reverse (SeqList *lp);//实现线性表逆置的功能
4.void delemm(SeqList *lp,int a);//删除线性表大于a的元素
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef int ElemType; /*定义线性表的数据类型,假设为int型*/
typedef struct
{
ElemType elem[MAXSIZE]; /*存放数据元素的数组*/
int last; /*线性表的长度*/
}SeqList;
void reverse (SeqList *lp);//实现线性表逆置的功能
void prtPass(SeqList *lp);//输出及格元素
double countPassAvg(SeqList *lp);//求线性表中及格元素的平均值
void delemm(SeqList *lp,int a);//删除线性表大于a的元素
void prtList(SeqList *lp);
int main()
{
SeqList L,*PtrL;
double average;
int i,a;
PtrL=&L; //指向顺序表
PtrL->last = 10; //表长为10
for (i=0; i<PtrL->last; i++)
PtrL->elem[i] = rand()%100; //随机去10个数
printf("0--初始顺序表为:\n");
prtList(PtrL);
printf("\n1---顺序表中及格元素为:\n");
prtPass(PtrL);
average=countPassAvg(PtrL);
printf("\n2---顺序表中及格元素平均值为:\n");
printf("%f\n",average);
reverse(PtrL);
printf("\n3--倒置后的顺序表为:\n");
prtList(PtrL);
printf("\n输入a的值为:\t");
scanf("%d",&a);
delemm(PtrL,a);
printf("\n4--删除值大于a后的顺序表为:\n");
prtList(PtrL);
return 0;
}
void prtList(SeqList *lp)//打印顺序表元素
{
int i;
for (i=0; i<lp->last; i++)
printf("%d ",lp->elem[i]);
printf("\n");
}
void reverse (SeqList *lp)//倒置
{
int i;
ElemType temp; //辅助变量
for(i=0;i<lp->last/2;i++)
{
temp=lp->elem[i]; //交换lp->elem[i]与lp->elem[lp->last-i-1]
lp->elem[i]=lp->elem[lp->last-i-1];
lp->elem[lp->last-i-1]=temp;
}
}
void prtPass(SeqList *lp)//输出及格元素
{
int i=0;
for(i=0;i<lp->last-1;i++)
{
if(lp->elem[i]>=60)
printf("%d\t",lp->elem[i]);
}
printf("\n");
}
double countPassAvg(SeqList *lp)//输出及格元素平均值
{
int i=0,j=0;
double sum;
for(i=0;i<lp->last-1;i++)
{
if(lp->elem[i]>=60)
{
sum+=lp->elem[i];
j++;
}
}
return sum/j;
}
void delemm(SeqList *lp,int a)//删除顺序表值大于a元素
{
int i=0,j=0;
for(i=0;i<lp->last-1;i++)
{
if(lp->elem[i]<=a) //当元素小于等于a时,将其放置在第j个位置
{
lp->elem[j]=lp->elem[i];
j++;
}
}
lp->last=j; //表长赋值为j 以此实现删除操作
}```
***运行界面截图:***
![在这里插入图片描述](https://img-blog.csdnimg.cn/dba16f3c928a40c4a08d0463d88141d7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5p2_5qCXMTA=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)