Witam
Jestem studentem pierwszego roku studiów informatycznych. Na ostatnich laboratoriach z podstaw programowania otrzymałem zadanie do wykonania o treści:
Wprowadz z klawiatury trzy liczby rzeczywiste. Wyswietl informacje o tym, ktora z podanych
liczb jest najwieksza i najmniejsza. Wpadłem na taki pomysł na to zadanie ale niestety niektóre elementy nie działają prawidłowo(w komentarzach napisałem które warunki działają a które nie działają).Problem polega
na tym,że w warunku else if(c>a&&a<b) oraz w warunku else if (c>b&&b<a) prawidłowo wyświetla liczbe najmniejszą ale źle wskazuje liczbę największą (zamiast wyświetlić ,że c jest największe to w pierwszym przypadku wskazuje na b a w drugim przypadku na a).Przy okazji jestem ciekawy jak można zrobić to krócej.
Czy ktoś mógłby mi pomóc w rozwiązaniu tego problemu?.Dodam jeszcze ,że program musi być napisany w języku c a nie c++.Pozdrawiam i proszę szybką pomoc.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a;
int b;
int c;
printf("Podaj liczbe a:");
scanf("%d",&a);
printf("Podaj liczbe b:");
scanf("%d",&b);
printf("podaj liczbe c:");
scanf("%d",&c);
/*max a min b dziala*/
if (a>b&&b<c)
{
printf("Najwieksza liczba to: %d \n",a);
printf("Najmniejsza liczba to: %d \n",b);
}/*max a min c dziala*/
else if(a>b&&b>c)
{
printf("Najwieksza liczba to: %d \n",a);
printf("Najmniejsza liczba to: %d \n",c);
}/*max b min a dziala*/
else if(b>a&&a<c)
{
printf("Najwieksza liczba to:%d \n",b);
printf("Najmniejsza liczba to:%d",a);
}/*max b min c dziala*/
else if(b>a&&a>c)
{
printf("Najwieksza liczba to:%d \n",b);
printf("Najmniejsza liczba to:%d \n",c);
}/*max c min a Nie dziala*/
else if(c>a&&a<b)
{
printf("Najwieksza liczba to: %d",c);
printf("Najmniejsza liczba to: %d",a);
} /*max c min b nie dziala*/
else if (c>b&&b<a)
{
printf("Najwieksza liczba to:%d",c);
printf("Najmniejsza liczba to: %d",b);
}
return (0);
}