|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
[C] Piccolo aiuto...
Ho scritto un programmino ricorsivo che mi stampa le cifre date in input in ordine inverso. Questo è il codice:
Codice:
#include <stdio.h>
int numinvertito(int);
int main(void){
int num;
printf("Inserisci il numero: ");
scanf("%d", &num);
printf("%d", numinvertito(num));
return 0;
}
int numinvertito(int n){
int tmp;
if(n==0)
return n;
else{
tmp=n%10;
printf("%d", tmp);
return numinvertito(n/10);
}
}
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Codice:
int numinvertito(int n)
{
if ((n / 10) == 0)
return n;
else {
printf("%d", n % 10);
return numinvertito(n / 10);
}
}
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Grazie posso sapere perché hai messo n/10 nel caso base?
Perfetto scusa ci sono arrivato Ultima modifica di Manugal : 08-11-2005 alle 16:10. |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Apr 2004
Messaggi: 130
|
Perche' tu vuoi ritornare l'ultima (cioe', la prima) cifra. Ma ero distratto: in effetti basta scrivere if (n < 10)...
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
|
Ciao,
Non so se hai problemi ad utilizzare le stringhe (in un paio di post precedenti la cosa era una sorta di "compito per casa" e non si potevano utilizzare le stringhe)... ad ogni modo per ribaltare un input (di qualsiasi genere... numerico/alfabetico o quant'altro) puoi: Invertire la stringa con strrev()... la lettura ovviamente con scanf("%s") o meglio con gets(). Scrivere una funzione che scorre la stringa all'inverso a partire da strlen()-1 fino ad arrivare a 0 e stampi via via il carattere n-esimo... Ci guadagni parecchio in calcoli... Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com Bottomap is a proud Masterdrive.it moderator |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:46.



















