谢谢解答~
已知顺序表数据类型定义为:
#define MAX 100
typedef struct{
int data[MAX];
int last; /顺序表长度/
}SeqList;
(1)设计一个函数float avgList(SeqList *lp),统计lp指向的顺序表中元素的平均值并返回。
(2)设计一个函数void deleX(SeqList *lp, int x),在lp指向的顺序表中删除所有值为x的元素。
谢谢解答~
已知顺序表数据类型定义为:
#define MAX 100
typedef struct{
int data[MAX];
int last; /顺序表长度/
}SeqList;
(1)设计一个函数float avgList(SeqList *lp),统计lp指向的顺序表中元素的平均值并返回。
(2)设计一个函数void deleX(SeqList *lp, int x),在lp指向的顺序表中删除所有值为x的元素。
float avgList(SeqList *lp)
{
int i = 0;
float ave = 0;
if ((lp == NULL)||(lp->last == 0))
{
return 0;
}
for (; i< lp->last; i++)
{
ave += lp->data[i];
}
return ave / lp->last;
}
void deleX(SeqList *lp, int x)
{
int i = 0, j =0;
if (lp == NULL)
{
return ;
}
for (i = 0; i < lp->last; i++)
{
if (lp->data[i] == x)
{
for (j = i; j < lp->last-1; j++)
{
lp->data[j] = lp->data[j+1];
}
}
}
}