
/**//*
問題:數(shù)制轉(zhuǎn)換,逆序輸出
思路:求余--輪除--求余,分解后保存在數(shù)組中。
數(shù)組逆序輸出為,所得。
*/
#include<iostream>
#include<cstring>
using namespace std;
int main()

{
int i,radix;
long n;
char a[32];
void trans(char *p,long m,int base);
cout<<"Input radix(2,8,16):";
cin>>radix;
cout<<"\nInput a positive number:";
cin>>n;
trans(a,n,radix);
//正序輸出:比如1245644
for(i=strlen(a)-1;i>=0;i--) cout<<a[i];
cout<<endl;
//逆序輸出:比如4465421
for(i=0;i<=strlen(a)-1;i++) cout<<a[i];
cout<<endl;
return 0;
}
//數(shù)制轉(zhuǎn)換函數(shù)
void trans(char *p,long m,int base)

{
int r;
while(m>0)
{
r=m%base;//求余
if(r<10)
*p=r+48;//code轉(zhuǎn)換為char
else
*p=r+55;//code轉(zhuǎn)換為char
m/=base;//輪除
p++;
}
*p=0;
}
