pobranie wartości trzech zmiennych i działania na nich

0

polecenie Napisz program, który pobiera wartości dla trzech zmiennych i wykonuje

  • mnożenie liczby pierwszej oraz drugiej, gdy liczba pierwsza jest większa od trzeciej i liczba druga jest większa od pierwszej,
  • dzielenie liczby drugiej przez trzecią, gdy liczba druga jest mniejsza od trzeciej albo mniejsza od pierwszej,
  • dodawanie wszystkich trzech liczb, gdy liczba trzecia jest większa od pierwszej i liczba druga nie jest równa5 LUB liczba druga jest większa od trzeciej oraz liczba pierwsza nie jest równa 0.

Gdy wpisuje liczby 10, 9 i 3 to pisze mi dzielenie 0 dodawanie 22 Jak to poprawić?

#include <stdio.h>
int main()
{
    int liczba1, liczba2, liczba3, wynik;
    printf("podaj pierwsza liczbe");
    scanf("%d", &liczba1);
    printf("podaj druga liczbe");
    scanf("%d", &liczba2);
    printf("podaj trzecia liczbe");
    scanf("%d", &liczba3);
    if (liczba1 > liczba3 && liczba2 > liczba1) {
        wynik = liczba1 * liczba2 * liczba3;
        printf("iloczyn %d", wynik);
    }
    if (liczba2 < liczba3 || liczba2 < liczba1) {
        wynik = liczba2 / liczba1;
        printf("dzielenie %d", wynik);
    }
    if ((liczba3 > liczba1 && liczba2 != 5) || (liczba2 > liczba3 && liczba1 != 0))
        wynik = liczba1 + liczba2 + liczba3;
    printf("dodawanie %d", wynik);
}

2

Sformatowałem kod ( http://format.krzaq.cc ) i od razu widać problem - nie masz klamer i w ostatnim ifie jest tylko przypisanie do wyniku, a wypisanie "dodawanie..." dzieje się zawsze. Zadanie też sformatowałem, bo było nieczytelne...

Ponadto:

  • w pierwszym przypadku masz przemnożyć pierwszą i drugą liczbę, a nie wszystkie trzy
  • w drugim przypadku podzielić drugą przez trzecią
  • funkcja main() ma typ - int
0

nie rozumiem co jeszcze jest źle

#include <stdio.h>
main()
{
int liczba1,liczba2,liczba3,wynik;
printf("podaj pierwsza liczbe");
scanf("%d",&liczba1);
printf("podaj druga liczbe");
scanf("%d",&liczba2);
printf("podaj trzecia liczbe");
scanf("%d",&liczba3);
if(liczba1>liczba3&&liczba2>liczba1)
{
	wynik=liczba1*liczba2;
	printf("iloczyn %d",wynik);
}
if(liczba2 < liczba3|| liczba2 < liczba1)
{
	wynik=liczba2/liczba3;
	printf("dzielenie %d",wynik);
}
if((liczba3 > liczba1 && liczba2 != 5) || (liczba2 > liczba3 && liczba1 != 0))
{
wynik=liczba1+liczba2+liczba3;
printf("dodawanie %d",wynik);
}
}

0

A co jeszcze jest źle?

0

Działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1