用C或者C++编程,输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。(不能直接用%0和%x来输出

来源:百度知道 编辑:UC知道 时间:2024/05/07 07:21:37
不能直接用%0和%x来输出

#include<iostream.h>
#include<math.h>
int main()
{
char ch[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}, output[20];
int input,temp,n,i=0;
cout<<"请输入你想要转换的十进制数:";
cin>>input;
cout<<"请输入要转换的进制(2<=n<=16):";
cin>>n;
input=fabs(input);
while(input)
{
temp=input%n;
input=input/n;
output[i++]=ch[temp];
}
output[i]='\0';
cout<<"转换为"<<n<<"进制后为:";
for(;i>=0;i--)
cout<<output[i];
cout<<endl;
return 0;
}

这个要自己写函数来转换 因为系统可以用格式化输出来输出 所以没必要自己写

#include<stdio.h>
#include<stdlib.h>
void main()
{
int num;
char str1[33],str2[33];
printf("十进制数:"