Ingrese un número y convierta a binario.
Solución
Este algoritmo recibe un número decimal y lo convierte a número binario.
Ejemplo
- Entrada: 10
- Salida: 1010
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *concatenar(char *cadena, char caracter);
int main()
{
printf("Ingrese un numero entero ");
int Num;
char *cad = "";
scanf("%d",&Num);
if(Num > 0){
while(Num > 0){
if(Num % 2==0){
char c = '0';
cad = concatenar(cad, c);
}else{
char c = '1';
cad = concatenar(cad, c);
}
Num=(int)Num/2;
}
printf("\n%s",cad);
}else{
if(Num==0){
printf("%s","0");
}else{
printf("Solo numeros positivos");
}
}
return 0;
}
char *concatenar(char *cadena, char caracter)
{
char *cad;
int i;
cad = (char*)malloc(strlen(cadena) + 2);
cad[0] = caracter;
// Encontrar el fin de cadena
for (i = 1; cadena[i-1] != '\0'; i++)
{
cad[i]=cadena[i-1];
}
// Añadimos el caracter de fin de cadena
cad[i++] = '\0';
return cad;
}
0 comentarios:
Publicar un comentario