注册 登录
编程论坛 C++教室

改写数制转换程序(已解决)

yqiong 发布于 2008-03-18 13:04, 804 次点击
输出结果不对???

#include <iostream.h>
void covert(int a);
int  main()
{
    int a;
    cin>>a;
     covert(a);
     return 0;
}
void covert(int a)
{
    int s[16];
    int i=0;
while(a)
{
    s[i++]=a%2;
    a=a/2;
}
for(;i>=0;i--)
cout<<s[i];
}

[[it] 本帖最后由 yqiong 于 2008-3-21 15:41 编辑 [/it]]
6 回复
#2
yqiong2008-03-20 17:37
输出异常,帮忙看下!
#3
bibingyan2008-03-20 23:18
你的这个十进制转二进制,没必要那麻烦..
加上stdlib.h
用itoa(int i,char a[],进制);
输出数组里就可以,它可以转换2--53进制的任意
#4
yqiong2008-03-21 15:20
[bo]以下是引用 [un]bibingyan[/un] 在 2008-3-20 23:18 的发言:[/bo]

你的这个十进制转二进制,没必要那麻烦..
加上stdlib.h
用itoa(int i,char a[],进制);
输出数组里就可以,它可以转换2--53进制的任意


还有这函数呢,学习了!谢谢!
#5
yqiong2008-03-21 15:21
#include <iostream.h>
void covert(int a);
int  main()
{
    int a;
    cin>>a;
     covert(a);
     return 0;
}
void covert(int a)
{
    int s[16];
    int i=0;
while(a)
{
    s[i++]=a%2;
    a=a/2;
}
for(--i;i>=0;i--)//找到错误了,在这i减一就可以
cout<<s[i];
}
#6
bibingyan2008-03-22 18:14
i要先减1
才行啊
#7
论坛元老2008-04-02 16:45
编程论坛 输出结果不对???

#include <iostream.h>
void covert(int a);
int&nbsp;&nbsp;main()
{
&nbsp;&nbsp;&nbsp;&nbsp;int a;
&nbsp;&nbsp;&nbsp;&nbsp;cin>>a;
&nbsp; ...
1