¿Cuál será el código C si quiero imprimir todos los elementos ingresados ​​en orden inverso sin usar matrices?

Esto es realmente bastante simple:

#include int main(void) {
int n;
printf("Enter the numbers in one line: ");
scanf("%d",&n); //store the number sequence in variable n
printf("Numbers in reverse order: ");
while(n!=0){ //loop till n becomes zero
printf("%d",n%10); //printing the last digit of the sequence
n=n/10; //removing the last digit from sequence
}
printf("\n");
return 0;
}

#include int main(void) {
int n;
printf("Enter the numbers in one line: ");
scanf("%d",&n); //store the number sequence in variable n
printf("Numbers in reverse order: ");
while(n!=0){ //loop till n becomes zero
printf("%d",n%10); //printing the last digit of the sequence
n=n/10; //removing the last digit from sequence
}
printf("\n");
return 0;
}

Aquí hay una demostración funcional.

EDITAR:

La solución a este problema es bastante simple. Debería haberlo entendido en el momento de la recursión Fue mencionado. Aquí está el código:

#include

int ctr = 0;
nulo aceptar () {
int n;
si (ctr <5) {
printf (“Ingrese un número: \ n”);
scanf (“% d”, & n);
ctr ++;
aceptar();
printf (“% d \ n”, n);
}
}

int main () {
aceptar();
devuelve 0;
}

El truco es utilizar la implementación de pila predeterminada por el sistema . Una pila funciona según el principio LIFO (último en entrar, primero en salir) . Los elementos ingresados ​​por el usuario se empujan en la parte superior de la pila. Por lo tanto, al imprimir, el último elemento empujado aparecerá primero, dando una secuencia inversa de las entradas proporcionadas por el usuario.

Aquí hay una demostración funcional.


Esta pregunta es realmente buena para evaluar los conceptos básicos de un estudiante.

#include
func nulo () {
int num;
// Ingrese 0 para detener o marcar la terminación.
scanf (“% d”, & num);
si (num! = 0)
func ();
printf (“% d \ n”, num);
}

int main ()
{
func ();
devuelve 0;
}

En el código anterior, ingrese los números y 0 para detener la entrada.

func nulo (int counter) {
si (! contador)
regreso;

int num;
scanf (“% d”, & num);
func (contador-1);
printf (“% d \ n”, num);
}

int main () {
int num;
printf (“Ingrese cuántos números se ingresarán \ n”);
scanf (“% d”, & num);
func (num);
devuelve 0;
}
En este código, el usuario especificará el número de iteraciones.

Este programa lo hará utilizando la asignación de memoria:

#include
#include

int main () {
int len, i;
int * mem;

printf (“Introducir longitud:”);
scanf (“% d”, & len);

mem = malloc (len * sizeof (int));

para (i = 0; i printf (“Ingrese el número% d:”, (i + 1));
scanf (“% d”, mem ++);
}
printf (“El orden inverso es: \ n”);
para (i = 0; i printf (“% d \ n”, * (- mem));
}

libre (mem);
devuelve 0;
}

[A2A]
Puedo dar un método para lograr esto y te dejaré la codificación. Utilice la lista vinculada e imprímala al revés. Esto puede ayudarlo a eliminar la necesidad de obtener el recuento de la cantidad de entradas de usuario.
Teóricamente, si los empujas a todos a una pila y los sacas idealmente es tu respuesta.