• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

sprawdzenie liczb największej i najmniejszej sprawdzenie

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
209 wizyt
pytanie zadane 9 listopada 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)

Witam 

Jestem na studiach informatycznych na pierwszym roku. Ostatnio na laboratoriach dostałem zadanie o treści:
Wczytuj liczby podane z klawiatury tak długo aż nie zostanie wprowadzone 0. Znajdź minimalną i maksymalną liczbę spośród wprowadzonych z klawiatury i wyświetl je.

Wymyśliłem sobie , że zrobie to zadanie tak:

zadeklaruje zmienną int a

zadeklaruje zmienną b

zadeklaruje zmienną max i min

odzczytam zmienną a do momętu aż wpisze zero 

przypisze te liczby do max i min jednocześnie

wprowadzę liczbę b

będe porównywał b z max i min 

Wykładowca podpowiedział mi żeby zrobić to za pomocą pętli do while.Napisałem następujący kod ale nie działa prawidłowo (jak podaje 0 dalej mogę podawać liczby w nieskończoność).Czy ktoś może mi wytłumaczyć co robię

źle i pomóc mi  to poprawić?.

Pozdrawiam

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a=0;
    int b;
    int max;
    int min;
    printf("Podaj liczbe: ");
    scanf("%d",&a);

    do
    {
        printf("Podaj liczbe: ");
        scanf("%d",&a);
        printf("Podaj 2 liczbe ");
        scanf("%d",&b);

    max=a;
    min=a;
    }
    while(a!=0);
    return (0);
}

 
 

komentarz 9 listopada 2017 przez Munvik Dyskutant (9,350 p.)
Że tak zapytam, po co zmienna b ? To nawet nie ma prawa działać poprawnie

2 odpowiedzi

0 głosów
odpowiedź 9 listopada 2017 przez Dexterim Dyskutant (8,370 p.)
Zauważ, że pętla do while zawsze wykona się chociaż raz. Nie musisz przed pętla dawać wczytywania zmiennej do a. Gdybyś dwa razy podał zero pętla by się zamknęła. Bo zauważ podajesz 0 a nastepnie znowu przypisujesz zmienna do a.

Warunek zostaje sparwdzony dopiero po wykonaniu bloku kodu w bloczku do
0 głosów
odpowiedź 9 listopada 2017 przez Munvik Dyskutant (9,350 p.)
Zmienna b jest nie potrzebna

Zobacz, przypisujesz za każdym razem a do max i min. Wpiszesz 30, max i min = 30, wpiszesz 123456 max i min = 123456. To raczej nie jest efekt, który chcesz uzyskać.

Podobne pytania

0 głosów
2 odpowiedzi 4,870 wizyt
0 głosów
2 odpowiedzi 160 wizyt

90,900 zapytań

139,572 odpowiedzi

313,905 komentarzy

60,373 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...