IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Ciferný súčet čísla v C

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
oliver.olejnik:9.4.2018 23:15

Čaute, riešim program na ciferný súčet čísla, no mám s tým menší problém. Na výstupe musí byť jedna číslica, tzn. keď na vstupe dostanem 165, na výstupe musí byť 3 (1+2), nie 12. Môj program mi zatiaľ hádže iba 12, neviem ako ten cyklus zopakovať, viete mi s tým niekto pomôcť? Dík :)

 
Odpovědět
9.4.2018 23:15
Avatar
Odpovídá na oliver.olejnik
Matúš Olejník:10.4.2018 2:50

Ahoj spolumenovec :D môže byť takto?

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

int main() {
    int input, result = 0;

    scanf(" %d", &input);

    while (1) {
        while (input != 0) {
            result += input % 10; //pripocitanie poslednej cifry cisla
            input /= 10; //"odseknutie" poslednej cifry cisla
        }

        //ak ma vysledok len jednu cifru ukonci cyklus
        if (result < 10) {
            break;
        }
        //inak pokracuj s docasnym vysledkom to iste
        else {
            input = result;
            result = 0;
        }
    }
    printf("Vysledok je: %d", result);

    getchar(); getchar();

    return 0;
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
10.4.2018 2:50
/* I am not sure why this works but it fixes the problem */
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.