百练 2734 十进制到八进制 解题报告

链接:http://poj.grids.cn/practice/2734/

题目:

总时间限制:
1000ms
内存限制:
65536kB
描述
把一个十进制正整数转化成八进制
输入
一行,仅含一个十进制表示的整数a(0 < a < 65536)
输出
一行,a的八进制表示
样例输入
9
样例输出
11

代码:

 1 #include <iostream>

 2 #include <cstdlib>

 3 #include <cstdio>

 4 #include <cstring>

 5 using namespace std;

 6 int main()

 7 {

 8     //freopen("F:\\input.txt","r",stdin);

 9     

10     int a;

11     cin>>a;

12     

13     char chs[7];

14     int i = 0;

15     do

16     {

17         chs[i++] = (a % 8) + '0';

18         a = a / 8;

19     }while(a != 0);

20     chs[i] = '\0';

21     

22     //转置 

23     int j = 0;

24     char tmp;

25     while(j < i)

26     {

27         i--;

28         tmp = chs[j];

29         chs[j] = chs[i];

30         chs[i] = tmp;

31         j++;

32     } 

33     

34     cout<<chs<<endl;

35 

36     return 0;

37 }

思路:

1.要用字符串保存,更加通用,注意最后要转置

你可能感兴趣的:(十进制)