问题 : 八进制

题目描述

输入一个整数,将其转换成八进制数输出。 

输入

输入包括一个整数N(0<=N<=100000)。 

输出

可能有多组测试数据,对于每组数据,
输出N的八进制表示数。 

样例输入

9

8

5

样例输出

11

10

5

题目描述:

将一个整数n转化为八进制数。

解题思路:

定义一个数组用来存储八进制数,当n0时直接输出0;当n不为0时,利用循环将n8取余存入到数组中,n=n/8直到n0时循环结束,逆序输出数组中的数即为八进制数。

程序代码:

#include<stdio.h>

int main()

{

        int num[200];

        int n,i,j;

        while(scanf("%d",&n)!=EOF)

        {

                if(n==0)

                    printf("0\n");

                else

                {

  

                        for(i=0;n!=0;i++)

                    {

                            num[i]=n%8;

                            n=n/8;

                    }

                        for(j=i-1;j>=0;j--)

                    {

                            printf("%d",num[j]);

                    }

                            printf("\n");

          }

}

return 0;

} 


错误分析:

1、注意当N0时的结果。