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

Język c sprawdzenie kodu

VPS Starter Arubacloud
0 głosów
654 wizyt
pytanie zadane 27 października 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)

Witam

Jestem studentem pierwszego roku studiów informatycznych.Ostatnio na zajęciach z Programowania otrzymałem 

zadanie o treści: Odczytaj dwie liczby calkowite a i b. wypisz na ekranie wszystkie liczby nieparzyste
w kolejnosci malejacej z przedzialu <a,b>.rozwiązałem to zadanie ale nie jestem pewny czy tak może być to zrobione.Czy ktoś może mi sprawdzić to zadanie i ewentualnie podpowiedzieć co miałbym zmienić?.Pozdrawiam

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

int main(void)
{
    int a;
    int b;
    int i;
    printf("Podaj liczbe calkowita z dolnego przedzialu a: ");
    scanf("%d",&a);
    printf("Podaj liczbe calkowita z gurnego przedzialu b:  ");
    scanf("%d",&b);
    for(i=b; i>=a; i--)
    {
        if(i%2!=0)
        printf(" %d \n\n",i);
    }
    system("pause");
    return (0);
}

2 odpowiedzi

+1 głos
odpowiedź 27 października 2017 przez Patrycjerz Mędrzec (192,340 p.)
wybrane 27 października 2017 przez mn130496
 
Najlepsza
  1. Popraw "gurnego" na "górnego".
  2. Wywołanie system("pause") nie jest rozwiązaniem multiplatformowym, ale ujdzie.
  3. Radziłbym napisać return 0, bez nawiasów.
komentarz 27 października 2017 przez mn130496 Gaduła (3,530 p.)

ok dzięki za pomoc.Pozdrawiam

1
komentarz 27 października 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Proszę, weź zamień to system("pause") na jakiegoś getchara. angel

1
komentarz 27 października 2017 przez Patrycjerz Mędrzec (192,340 p.)

Nie wiem, czy wtedy nie byłoby problemów z pozostałościami w postaci białych znaków w strumieniu, ale dwa wywołania getchar powinny dać radę smiley

0 głosów
odpowiedź 27 października 2017 przez mokrowski Mędrzec (155,460 p.)

1. Zwróć uwagę na to że liczby nieparzyste są "oddalone od siebie" o 2. Stąd krok pętli to może być -2 (bo od max do min) co pozwoli usunąć sprawdzanie czy liczba jest nieparzysta i usunie połowę przebiegów pętli.

2. Rozwiązanie z system("pause") jest "niezalecane". Poznaj różnicę między <ctrl> + <f5> i samym <f5> w Visual Studio.

3. Aby uzyskać liczbę nieparzystą mniejszą lub równą wartości podanej, wystarczy odjąć od niej 1 i ustawić bit o indeksie 0 na wartość 1.

4. Twój program (choć nie wiem czy było to w wymaganiach), nie wykrywa faktu podania złego przedziału.

    for(int i = (maxValue - 1) | 0x01; i >= minValue; i -= 2) {
        printf("%d\n", i);
    }

 

Podobne pytania

0 głosów
1 odpowiedź 1,052 wizyt
pytanie zadane 1 stycznia 2018 w C i C++ przez mar25 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 160 wizyt
pytanie zadane 23 lutego 2023 w JavaScript przez niezalogowany
0 głosów
0 odpowiedzi 85 wizyt
pytanie zadane 21 kwietnia 2022 w Rozwój zawodowy, nauka, praca przez Oczarowany Użytkownik (600 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...