算法:十进制转换为八进制

将十进制数转换为八进制,并输出。
算法:十进制转换为八进制_第1张图片
图:将十进制数转换为八进制并输出

Input
输入包含若干十进制正整数。

Output
输出相应的八进制数,每个占一行。

Sample Input

1
2
3
7
8
9
19
10020345
Sample Output

1
2
3
7
10
11
23
46162771

总结:
1、数值转换可以使用到堆栈,但是用函数调用(系统的堆栈)将会更为方便。
2、书中的算法实际上只能处理正整数。

#include 
#include 
#define MAX 10000
void transform(int x)
{
    int array[MAX],i=0;               //运用数组来进行储存转换后各个位置的值
    while(x)
    {
        array[i++]=x%8;
        x/=8;
    }

    while(i--) 
        printf("%d",array[i]);
    printf("\n");
}
int main()
{
	int x;
	while( ~scanf("%d",&x) )
        transform(x);
	return 0;
}

你可能感兴趣的:(算法:十进制转换为八进制)