Hi,
OK, so I am trying to find the minimum and maximum number from an array in my program but it is showing invalid numbers instead of the ones that should be showing.
The program simplifies by finding the max value, minimum value and average of 10 integers with range of 0 and 100.
Here is the code:
And here is the output:Code:int grades[10], maximum, minimum, average, sum, x; printf ("Please enter your ten course grades in numbers between 0 and 100:\n"); sum = 0; for (x = 0; x < 10; x++) { printf ("Enter grade #%i: ", x + 1); scanf ("%i", &grades[x]); maximum = grades[0]; minimum = grades[0]; if(grades[x] == 100) printf("The letter grade is A+\n"); if(grades[x] <= 99.9 && grades[x] >= 93.5) printf("The letter grade is A\n"); if(grades[x] <= 93.4 && grades[x] >= 90) printf("The letter grade is A-\n"); if(grades[x] <= 89.9 && grades[x] >= 86.5) printf("The letter grade is B+\n"); if(grades[x] <= 86.4 && grades[x] >= 83.5) printf("The letter grade is B\n"); if(grades[x] <= 83.4 && grades[x] >= 80) printf("The letter grade is B-\n"); if(grades[x] <= 79.9 && grades[x] >= 76.5) printf("The letter grade is C+\n"); if(grades[x] <= 76.4 && grades[x] >= 73.5) printf("The letter grade is C\n"); if(grades[x] <= 73.4 && grades[x] >= 70) printf("The letter grade is C-\n"); if(grades[x] <= 69.9 && grades[x] >= 66.5) printf("The letter grade is D+\n"); if(grades[x] <= 66.4 && grades[x] >= 63.5) printf("The letter grade is D\n"); if(grades[x] <= 63.4 && grades[x] >= 60) printf("The letter grade is D-\n"); if(grades[x] <= 59.9 && grades[x] >= 0) printf("The letter grade is F\n"); if (grades[x] < minimum) { minimum = grades[x]; } if (grades[x] > maximum) { maximum = grades[x]; } sum = sum + grades[x]; } average = sum / 10; printf ("The minimum grade is %i\n", minimum); printf ("The maximum grade is %i\n", maximum); printf ("The average grade is %i\n", average); printf ("\n");
You can see in the output that it appears that 42 is the minimum and 50 the maximum which both are incorrect.Code:Please enter your ten course grades in numbers between 0 and 100: Enter grade #1: 50 The letter grade is F Enter grade #2: 37 The letter grade is F Enter grade #3: 89 The letter grade is B+ Enter grade #4: 92 The letter grade is A- Enter grade #5: 65 The letter grade is D Enter grade #6: 46 The letter grade is F Enter grade #7: 87 The letter grade is B+ Enter grade #8: 67 The letter grade is D+ Enter grade #9: 89 The letter grade is B+ Enter grade #10: 42 The letter grade is F The minimum grade is 42 The maximum grade is 50 The average grade is 66
As I am concerned, I think the code ok, so I have no idea why is this happening.
Please check for any errors.
Thanks for your help and happy Programming!



LinkBack URL
About LinkBacks




