/* rms.c Root mean square, serial version --don't forget to link the math library when you compile: gcc -o rms rms.c -lm */ #include #include #define MAX 10000 int main(int argc, char *argv[]) { double sum; int data[MAX]; int i, val; double rms; srand(time(0)); for (i=0; i < MAX; i++) { data[i] = rand() % 1000; printf("%4d", data[i]); } printf("\n"); sum = 0; for (i = 0; i < MAX; ++i) { sum = sum + (data[i] * data[i]); } rms = sqrt ((double) sum / (double) MAX); printf("RMS = %lf\n", rms); return 0; } /* ... 444 450 13 891 830 575 366 163 572 717 912 532 623 661 513 736 437 353 921 619 505 427 859 359 176 571 923 120 481 599 574 277 401 587 169 232 514 887 395 87 604 307 619 227 320 485 315 757 190 236 377 47 15 588 406 191 159 681 663 992 280 238 269 34 177 790 266 692 677 13 779 281 673 750 860 345 587 175 455 130 763 184 177 778 124 936 970 283 617 633 627 250 223 248 636 401 39 902 445 716 267 224 350 292 326 210 638 914 738 93 396 853 629 573 632 753 509 954 388 479 939 15 81 163 615 717 916 654 971 361 723 590 937 73 883 263 635 873 529 725 318 925 579 947 851 211 700 712 517 88 543 456 455 976 971 70 693 887 77 16 RMS = 578.837337 */