当前位置: 代码迷 >> C语言 >> 请高手们救救~~!呜呜呜~~~!
  详细解决方案

请高手们救救~~!呜呜呜~~~!

热度:369   发布时间:2004-06-10 18:03:00.0
请高手们救救~~!呜呜呜~~~!

救命啊~~!请高手救救!!!有一条题:输入一个数字(以十进制形式输入)然后以二进制的形式输出!

这条程序应该如何写啊??希望高手们可以救救小弟!

搜索更多相关的解决方案: 二进制  十进制  如何  

----------------解决方案--------------------------------------------------------

int a;

a&1;

a>>=1;


----------------解决方案--------------------------------------------------------
按权的展开方式写就行了
很简单的
呵呵你自己写原代码吧

----------------解决方案--------------------------------------------------------
能不能详细点的解说阿??小弟不明白哦~~!
----------------解决方案--------------------------------------------------------
void fun(int a);//进制转换
main()
{
   int a;
   scanf("%d",&a);
   fun(a);
}
void fun(int a)
{  int b;
if(a)
{
b=a>>1;
fun(b);
printf("%d",a&1);
}
}
----------------解决方案--------------------------------------------------------

main() { int n,b[20],i,j; printf("please input the number:\n"); scanf("%d",&n); for(i=0;n>1;i++) b[i]=n%2; n/=2; for(j=i-1;j>=0;j--) printf(" %d",b[j]); }

如果我这样写有没有错误啊?


----------------解决方案--------------------------------------------------------

#include "Stdio.h"

void main() { int n,b[20],i,j; printf("please input the number:\n"); scanf("%d",&n); for(i=0;n>0;i++) {b[i]=n%2; n/=2;} for(j=i-1;j>=0;j--) printf(" %d",b[j]); }


----------------解决方案--------------------------------------------------------

void Transform(long num,int r)//将一个长整型数NUM转换为一个R进制输出

{

Stack a;//利用栈A存储转换后得到的每一位数字

InitStack(a);//初始化栈

while(num!=0)

{

int k=num%r;

Push(a,k);

num/=r;

}//由低到高求出R进制的每一位并入栈

while(!StackEmpty(a))//由高到低输出R进制数的每一位

cout<<Pop(a);

cout<<endl;

}

程序已经定义完毕,你需要什么进制都可以调用了,比如要将3426改成二进制输出,调用过程为:

void main(){

cout<<"3426的二进制数为:"

Transfrm(3426,2);

}


----------------解决方案--------------------------------------------------------
  相关解决方案