请大家帮我做下这个C语言程序,越简单越好,谢谢了!
来源:百度知道 编辑:UC知道 时间:2024/07/07 07:52:14
数制转换
采用递归方法,实现将十进制整数转换成二进制数(含整数部分与小数部分)。
采用递归方法,实现将十进制整数转换成二进制数(含整数部分与小数部分)。
楼上的没有考虑小数部分啊
#include <stdio.h>
#define NUM 2
#define ZERO 0.000001
void integer(int n)
{
if(n>0)
{
integer(n/NUM);
printf("%d",n%NUM);
}
}
void decimal(double m)
{
if(m>ZERO)
{
m=m*NUM;
printf("%d",(long)m);
decimal(m-(long)m);
}
}
void main()
{
double f;
long n;
printf("input a double num:");
scanf("%lf",&f);
if(f<0)
{
printf("-");
f=-f;
}
n=(long)f;
integer(n);
printf(".");
decimal(f-n);
printf("\n");
}
#include<stdio.h>
void f(int n)
{
if(n) f(n/2);
else return;
printf("%d",n%2);
}
int main()
{
int n;
while(1)
{
scanf("%d",&n);
if(n<0