Rodex_ icon

LowerSum_Kollege_Liste

Rodex_ | PRO | 02/26/17 04:57:48 PM UTC | 0 ⭐ | 240 👁️ | Never ⏰ | []
C |

1.29 KB

|

None

|

0 👍

/

0 👎

#include <stdio.h>
#include <stdlib.h>
 
typedef struct node{
    double element;
    struct node *next;
}node_t;
 
node_t *head = NULL;
 
node_t *add_first(double value, node_t *l){
    node_t *newNode = (node_t*)malloc(sizeof(node_t));
    newNode->element =value;
    newNode->next=l;
    return newNode;
}
 
int getSize(node_t *l){
    int size=0;
    for(node_t *i=head; i!=NULL; i=i->next){
        ++size;
    }
    return size;
}
double getSum(node_t *l){
    double value =0;
    for(node_t *i=head; i!=NULL; i=i->next){
        value += i->element;
    }
    return value;
}
double pop() {
    return head->element;
}
node_t *remove_first(node_t *l){
    node_t *newNode = l->next;
    free(l);
    return newNode;
}
int main()
{
    double input;
    double durchschnitt;
    double temp;
    while(input > 0){
 
        scanf("%lf", &input);
        head = add_first(input,head);
    }
 
    //remove negative numbers
    head = remove_first(head);
 
    durchschnitt = getSum(head)/getSize(head);
 
    for(node_t *i=head; i!=NULL; i=i->next){
        if(i->element < durchschnitt){
            temp += i->element;
        }
    }
    printf("%.2f", temp);
    for(node_t *i=head; i!=NULL; i=i->next){
        head=remove_first(head);
    }
    return 0;
}

Comments