0
#include <stdio.h>
int max(int x, int y);
int min(int x, int y);

int main()	
{
    int grade, total, counter, avg;
    total = 0;
    counter = 0;
    printf("Enter grades: (-1 to end list)\n");
     do
	{
	    scanf("%d", &grade);
	     
		if(grade != -1)
			{
				total = total + grade;
				counter = counter + 1;
				avg = (float)total / counter;
			}
	}
	
	while (grade != -1);
	{
    	 printf("max = %d\n", max);
    	 printf("min = %d\n", min);
    	 printf("average = %0.2f\n", (float)total/counter);
	}
}

int max(int x, int y)
{
    int biggest = x;
    if (y > biggest)
        biggest = y;
    return biggest;
}

int min(int x, int y)
{
    int smallest = x;
    if (y < smallest)
    	smallest = y;
    return smallest;
}

i need help finding the maximum and minimum values inputed by the user. i keep getting values such as 67808 and 67880 as my maximum and minimum values when those are not values inserted by the user. somebody help please!

Edited by jbennet: code tags

5
Contributors
4
Replies
6
Views
4 Years
Discussion Span
Last Post by Tumlee
0

I'm assuming you need to find the maximum and minimum grade of the whole set. Since your max and min functions only compare two grades (and you never call them -- you'll get an error if you try to compile what you have above), they need to be called for every grade entered. This should get you started.

1

This is definitely one issue:

printf("max = %d\n", max);
printf("min = %d\n", min);

max and min are not integers, they are functions that return integers, so these lines of code don't make any sense. I'm not even sure how you got this to compile, but your program is probably printing out the memory addresses of your min() and max() functions.

You're not even recording any of your grade's values anyway, so it will be impossible to know what the maximum and minimum grades are the way you wrote your code.
HINT: You need to recalculate the minimum and maximum values inside your loop.

Edited by Tumlee: n/a

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.