@devair1010 é que só coloquei a função, não o código inteiro
Aqui é ele inteiro
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
struct ElementoLista{
int valor;
struct ElementoLista *pro;
};
typedef struct ElementoLista Item;
int numeroElementos(Item *cabeca);
void insereFim(Item* cabeca, int valor);
int contagem(Item *cabeca);
double media(Item *cabeca);
void insereIndice(Item *cabeca, int indice, int valor);
int main(){
Item cabeca;
cabeca.pro = NULL;
printf("Tamanho do item: %d\n",sizeof(Item));
printf("\nInserindo itens novos na lista...\n");
insereFim(&cabeca, 150);
insereFim(&cabeca, 100);
insereFim(&cabeca, 200);
insereFim(&cabeca, 10);
insereFim(&cabeca, 20);
insereFim(&cabeca, 30);
insereFim(&cabeca, 50);
printf("Total de itens na lista: %d\n",numeroElementos(&cabeca));
printf("Total de itens que sao maiores ou igual a 100 da lista: %d\n",contagem(&cabeca));
printf("Soma Total de itens na lista: %lf\n",media(&cabeca));
}
void insereFim(Item* cabeca, int valor){
int i;
Item *nov = (Item*) malloc(sizeof(Item));
nov->pro = NULL;
nov->valor = valor;
printf("Item de valor %3d alocado no endereco: 0x%000000X\n",nov->valor,nov);
Item *atual = cabeca;
while(atual->pro!=NULL){
atual = atual->pro;
}
atual->pro = nov;
}
int numeroElementos(Item *cabeca){
int i;
Item *atual = cabeca->pro;
while(atual!=NULL){
i++;
atual= atual->pro;
}
return i;
}
int contagem(Item *cabeca){
int i;
Item *atual = cabeca->pro;
while((atual!=NULL)){
if((atual->valor) >= 100){
i++;
}
atual= atual->pro;
}
return i;
}
double media(Item *cabeca){
double i,soma;
Item *atual = cabeca->pro;
while(atual!=NULL){
i++;
soma = soma + atual->valor;
atual = atual->pro;
}
return soma/i;
}
void insereIndice(Item *cabeca, int indice, int valor){
int i;
Item *nov = (Item*) malloc(sizeof(Item));
nov->pro = NULL;
nov->valor = valor;
Item *atual = cabeca;
while(atual->pro!=NULL){
atual = atual->pro;
}
atual->prx = nov;
}