conversión de base (tema función)

1113: conversión binaria (funciones especiales)
límite de tiempo: 1 segundo límite de memoria: 128 MB
presentado: 72 Resolución: 55
Título Descripción
introduzca un entero decimal n, da salida al número entero binario correspondiente. Comúnmente utilizado métodos para convertir "En suma de módulo 2, en orden inverso." Un número decimal por 2 para obtener el resto y cociente, el cociente resultante de dividir por 2, y así sucesivamente, hasta que el cociente es igual a 0, para acabar con el resto del número binario dividida que se solicita. Por ejemplo, el proceso de cálculo 52 en términos de número binario `
52 se divide por 2 un resto obtenido eran 0,0,1,0,1,1, en orden inverso, para obtener el correspondiente 52 número binario 110100.

Pensamos que un proceso de cálculo recursivo descrito anteriormente es tal que: la salida de n / 2 que corresponde al número binario, a continuación, introduzca el 2%. La aplicación de una función recursiva como sigue:

void convert (int n)

{

si (n> 0)

{

  调用自身,输出n/2对应的二进制数;

   输出n%2;

}

}

Inténtelo!
Input
introduzca un número entero positivo n.
Salida
número n correspondiente a la salida binaria.

# include<stdio.h>
void convert(int x);
int main()
{	
	int x;
	scanf("%d",&x);
	convert(x);
	return 0;
}
void convert(int x)
{
	if(x>0)
	{
		convert(x/2);
		printf("%d",x%2);
	}
}

Aquí con una función recursiva, sin matriz, la matriz simple

Publicados 123 artículos originales · ganado elogios 8 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/Du798566/article/details/104705898
Recomendado
Clasificación