非递归算法:
#include
using namespace std;
#include
#define MAXSIZE 20
typedef struct Stack
{
char node[MAXSIZE];
int top;
}Stack;
int main()
{
Stack s;
s.top=-1;
int n;
cout<<"请输入十进制数:"<
int m;
cout<<"请输入要转化的进制数:"<
int q=n;
while(n!=0)
{
q=n%m;
n=n/m;
s.top++;
if(q<10)
s.node[s.top]=q+48;
else
s.node[s.top]=(q-9)+64;
}
while(s.top>=0)
{
cout<
return 0;
}
递归算法:(未采用数组存储)
#include
using namespace std;
#define N 8
void print(int M);
int main()
{
print(100);
return 0;
}
void print(int M)
{
int n=M%N;
M=M/N;
if(M!=0)
print(M);
cout<
#include
#define LENGTH 100
#define NUMBER 8
int scan()
{
int data;
printf("Input your data :");
scanf("%d",&data);
return data;
}
void display(char array[],int index)
{
for(int j=index-1; j>=0; j--)
{
printf("%d",array[j]);
}
printf("\n");
}
void conversion(int data)
{
char array[LENGTH];
int i=0;
printf("%d 转换成八进制后为:", data);
while(data){
array[i++]=(char)(data%8);
data /= NUMBER;
}
display(array, i);
}
int main()
{
conversion(scan());
return 1;
}
不会吧!
printf("%o",a[i]);