用户输入一个十进制正整数,然后分别转换成为二进制数、八进制数和十六进制数输出。(是C++,不是C)
编写一个程序,要求用户输入一个十进制正整数,然后分别转换成为二进制数、八进制数和十六进制数输出。程序运行结果如下(输出依次为二进制、八进制和十六进制数):输入:16输出:...
编写一个程序,要求用户输入一个十进制正整数,然后分别转换成为二进制数、八进制数和十六进制数输出。 程序运行结果如下(输出依次为二进制、八进制和十六进制数):输入: 16
输出:
10000
20
10
语言(C++)
是C++的语言啊!比如:
#include<iostream>
using namespace std;
int main()
{
}
本人才学c++,望得到各位帮助!
能对执行语句或者特殊函数进行解释吗?谢谢 展开
输出:
10000
20
10
语言(C++)
是C++的语言啊!比如:
#include<iostream>
using namespace std;
int main()
{
}
本人才学c++,望得到各位帮助!
能对执行语句或者特殊函数进行解释吗?谢谢 展开
展开全部
追问
"c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上"这句话是怎么做到将每位数字存进去的?因为里面的“c+=”?
追答
拿个例子来说明吧。比如用户输入5
那么一开始
b=5,c=0,d=1
b%2=1,那么应该把1写入c的个位,c+=1*d,c就变成了1,其中d就是控制加在哪一位的。
然后,得到了
b=2,c=1,d=10
b%2=0,那么应该把0写入c的十位,注意到这时d已经变成10了,所以还是可以用c+=0*d来计算
然后,就得到了
b=1,c=01(实际上还是1,只不过程序员自己内心清楚已经计算了十位了),d=100
b%2=1,应该写入百位,此时d=100,就应该是c+=1*d
这样讲应该清楚了吧?
展开全部
#include
using
namespace
std;
int
main()
{
cout<<"该程序可以转换36进制之内的数,9之后的后续数为大写字母A-Z"<
>n;
cout<<"请输入您要转换成的进制:"<
>x;
chg10tox(n,x);
return
0;
}
void
chg10tox(int
n,int
x)
{
char
p[20];
int
t;
for(int
i=0;n;i++)
{
t=n%x;
n=(n-t)/x;
if(t>=0&&t<=9)
p[i]=t+48;
else
p[i]=t+65-10;
}
for(i=i-1;i>=0;i--)
cout<
评论
0
0
加载更多
using
namespace
std;
int
main()
{
cout<<"该程序可以转换36进制之内的数,9之后的后续数为大写字母A-Z"<
>n;
cout<<"请输入您要转换成的进制:"<
>x;
chg10tox(n,x);
return
0;
}
void
chg10tox(int
n,int
x)
{
char
p[20];
int
t;
for(int
i=0;n;i++)
{
t=n%x;
n=(n-t)/x;
if(t>=0&&t<=9)
p[i]=t+48;
else
p[i]=t+65-10;
}
for(i=i-1;i>=0;i--)
cout<
评论
0
0
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
int main()
{
cout<<"该程序可以转换36进制之内的数,9之后的后续数为大写字母A-Z"<<endl;
void chg10tox(int n,int x);
int n,x;
cout<<"请输入一个任意正整数:"<<endl;
cin>>n;
cout<<"请输入您要转换成的进制:"<<endl;
cin>>x;
chg10tox(n,x);
return 0;
}
void chg10tox(int n,int x)
{
char p[20];
int t;
for(int i=0;n;i++)
{
t=n%x;
n=(n-t)/x;
if(t>=0&&t<=9)
p[i]=t+48;
else
p[i]=t+65-10;
}
for(i=i-1;i>=0;i--)
cout<<p[i];
cout<<endl;
}
望采纳,谢谢
using namespace std;
int main()
{
cout<<"该程序可以转换36进制之内的数,9之后的后续数为大写字母A-Z"<<endl;
void chg10tox(int n,int x);
int n,x;
cout<<"请输入一个任意正整数:"<<endl;
cin>>n;
cout<<"请输入您要转换成的进制:"<<endl;
cin>>x;
chg10tox(n,x);
return 0;
}
void chg10tox(int n,int x)
{
char p[20];
int t;
for(int i=0;n;i++)
{
t=n%x;
n=(n-t)/x;
if(t>=0&&t<=9)
p[i]=t+48;
else
p[i]=t+65-10;
}
for(i=i-1;i>=0;i--)
cout<<p[i];
cout<<endl;
}
望采纳,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有输出格式设置的,
#include <iostream.h>
#include <iomanip.h>
int main()
{
int num=123;
cout << hex << num << endl; //十六进制
cout << oct<< num << endl; //八进制
cout << dec<< num << endl; //十进制
}
#include <iostream.h>
#include <iomanip.h>
int main()
{
int num=123;
cout << hex << num << endl; //十六进制
cout << oct<< num << endl; //八进制
cout << dec<< num << endl; //十进制
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一个转换函数很好用:
char *itoa(int value, char *string, int radix);
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
头文件: <stdlib.h> itoa操作使用
但注意:这个不是C++标准库函数,只能在Visual C++系列编译器环境下使用
想在GCC上做的话,可以设置输出格式,也可以自己编函数进行转换……
char *itoa(int value, char *string, int radix);
int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
头文件: <stdlib.h> itoa操作使用
但注意:这个不是C++标准库函数,只能在Visual C++系列编译器环境下使用
想在GCC上做的话,可以设置输出格式,也可以自己编函数进行转换……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询