问题 : 八进制
题目描述
输入一个整数,将其转换成八进制数输出。
输入
输入包括一个整数N(0<=N<=100000)。
输出
可能有多组测试数据,对于每组数据,
输出N的八进制表示数。 
样例输入
9
8
5
样例输出
11
10
5
题目描述:
将一个整数n转化为八进制数。
解题思路:
定义一个数组用来存储八进制数,当n为0时直接输出0;当n不为0时,利用循环将n对8取余存入到数组中,n=n/8直到n为0时循环结束,逆序输出数组中的数即为八进制数。
程序代码:
#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、注意当N为0时的结果。

京公网安备 11010502036488号