i beginner c please bare me...
i make program calculate average of numbers inputted array
print min , max numbers entered array
, calculate standard deviation.
i think have average , standard deviation part working correctly when running final test noticed when entering numbers in array number above 3 not display in minimum number print.
so example enter 11,12,13,14,15,16,17,18,19,20 , 20 max , 3 min.
any idea on why getting this. guessing limiting variable can't see what.
sorry if stupid question.
thanks,
#include <stdio.h> #include <math.h> int main(void) { //variables float num[100]; float average=0; float var=0; float stand=0; float sum=0; float sum1=0; int i=0; int n=10; int min; int max; //ask user enter numbers printf("enter 10 numbers\n",n); for(i=0; i<n; i++) { scanf("%f", &num[i]); } //find average of numbers for(i=0; i<n; i++) { sum = sum + num[i]; } average = sum /(float) n; for(i=0; i<n; i++) { //if greater max if(num[i]>max) { max = num[i]; } } //if smaller min if(num[i]<min) { min = num[i]; } //calculate standard deviation for(i=0; i<n; i++) { sum1 = sum1 + pow((num[i] - average),2); } stand = sqrt(sum1/n); //print results printf("average of numbers = %.2f\n", average); printf("maximum number = %d\n", max); printf("minimum number = %d\n", min); printf("standard deviation = %.2f\n", stand); system("pause"); return 1; }
this code shouldn't compile. considering it's running i'd guess initializing them values lower or larger values in array.
based on @samgak said in comment:
change part of code this:
printf("enter 10 numbers\n",n); for(i=0; i<n; i++) { scanf("%f", &num[i]); } max = min = num[0]; //add line initialize max , min