#include #include struct node { double val; struct node *next; }; int main() { struct node *list = NULL, *curr = NULL; int read = 1, len = 0; double std=0, mean =0; char buf[256]; while (read == 1) { curr = malloc( 1*sizeof(struct node) ); fgets(buf,255,stdin); if (feof(stdin)) read = -222; else read = sscanf(buf,"%lf",&(curr->val)); if (read == 1) { len++; mean += curr->val; if (list == NULL) { list = curr; curr->next = NULL; } else { curr->next = list; list = curr; } } else free(curr); } mean /= len; printf("Mean: %lf\n",mean); for (curr = list; curr != NULL; curr = curr->next) std += (curr->val - mean)*(curr->val - mean); std = sqrt( std / len ); printf("STD: %lf\n",std); return 0; }