Título: Recorrer integer dígito por dígito Publicado por: Daor02 en 20 Junio 2016, 12:46 pm Buenas! Tengo una duda pequeña!
Hay un ejercicio en el libro "Fundamentos de Programación, Piensa en C" que he podido resolver en otros lenguajes pero no en C! Necesito pedirle al usuario un número de 4 dígitos e imprimirlo verticalmente. Si digita "6532" imprime: "6 5 3 2" En Python era tan sencillo como hacer esto: num=input("Ingrese un número de 4 dígitos: ") print (num[0]) print (num[1]) print (num[2]) print (num[3]) En Java con hacer esto ya estaba: String numero; System.out.println("Ingrese un número de cuatro dígitos: "); numero = lector.nextLine(); System.out.println(numero.charAt(0)); System.out.println(numero.charAt(1)); System.out.println(numero.charAt(2)); System.out.println(numero.charAt(3)); Pero no puedo en C. Sólo llevo esto: #include <stdio.h> int main(){ int numero; printf("Ingrese un n%cmero de 4 d%cgitos: ",163,161); scanf("%c", &numero); printf("???????"); //No tengo idea de qué va aquí! } Hay alguna manera de hacerlo sin usar ciclos for? Gracias! ;-) ;-) ;-) Título: Re: Recorrer integer dígito por dígito Publicado por: avesudra en 20 Junio 2016, 13:00 pm El número 4578:
Código: 4578 % 10 = 8 En cada división por 10 del anterior, se realiza truncamiento. Léelo de abajo hacia arriba. Es el problema con los lenguajes de alto nivel, que te acostumbras a que esté todo hecho. No es necesario ningún ciclo for, si sabes que es de 4 dígitos solo tienes que aplicar la matemática del revés pero voy a dejar que te comas tú el tarro :-D Además para leer un entero en C, el especificador de formato en el scanf no es %c, es %d o %i (para el formato en base 10). El %c es para leer un único caracter. Un saludo. Título: Re: Recorrer integer dígito por dígito Publicado por: MAFUS en 20 Junio 2016, 13:24 pm Hazlo igual que en Java y Python: píllalo como cadena con %s en el scanf e imprime cada caracter con notación de array, como en Python.
Título: Re: Recorrer integer dígito por dígito Publicado por: tincopasan en 20 Junio 2016, 16:54 pm pues lo mismo que haces en python(que por cierto da asco ese método que usas,¿por qué sin for?)
creo que de python no entendiste demasiado, ya que ahora es básicamente lo mismo en c: Código
|