Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // IDEA: partendo da 4321
- // 1) Trovo ogni volta la prima cifra dividendo per 10 fino a che il numero non รจ minore di 10
- // quindi faccio un ciclo while!
- // Di fatto ogni volta che entro nel ciclo scarto l'ultima cifra del numero input
- // in questo caso dopo 3 divisioni per 10 ho ottenuto la prima cifra -> 4 !!!
- // con cont tengo conto delle iterazioni all'interno del while, ossia il numero delle volte che faccio la divisione -> 3 !!!
- // 2) Quando ho trovato la prima cifra la stampo (stamo 4 quindi), poi devo effettuare un operazione di questo tipo 4321 -> 321
- // ossia scarto la prima cifra... come faccio?????
- // riduco l'input di: cifraTrovata(ossia 4) * 10^(cont) numero di itreazioni per scartare le cifre precedenti alla prima cifra
- // qundi ho 4321 - 4000 -> 321 !!!!
- // ripeto, quindi il ciclo while di prima lo metto all'interno di un altro ciclo while
- // che termina quando l'input copy diventa 0.
- // NB questo codice non funziona per numeri con 0 all'interno, o meglio, non li stampa a video gli zeri.
- int input, inputCopy, cont = 0, sottrazione;
- scanf("%d", &input);
- inputCopy = input;
- inputCopy = input;
- while (inputCopy > 0) {
- while (inputCopy > 10) {
- inputCopy = inputCopy / 10;
- cont++;
- }
- printf("%d ", inputCopy);
- // pow(numero, potenza) mi fa calcolare una potenza, se non l'avete fatto potete usare un while con un contatore per calcolarvela!
- sottrazione = inputCopy * pow(10, cont);
- inputCopy = input - sottrazione;
- input = input - sottrazione;
- cont = 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement