问题 : 八进制
题目描述
输入一个整数,将其转换成八进制数输出。
输入
输入包括一个整数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时的结果。