十进制转换成八进制(C++)

十进制转换成八进制(C++)Description用递归算法,把任一给定的十进制正整数转换成八进制数输出。Input输入一个正整数,表示需要转换的十进制数。Output输出一个正整数,表示转换之后的八进制的数。SampleInput15SampleOutput17HINT方法1:乱搞这种做法很有技术含量代码:#include<bits/stdc++.h>usingnamesp…

大家好,欢迎来到IT知识分享网。十进制转换成八进制(C++)"

Description
把任一给定的十进制正整数转换成八进制数输出。

Input
输入一个正整数,表示需要转换的十进制数。

Output
输出一个正整数,表示转换之后的八进制的数。

Sample Input
15

Sample Output
17

HINT

这里给出三种方法,有的正常,有的不正常。(滑稽)

方法1:乱搞
这种做法很有技术含量
这种方法不推荐!
代码:

#include <bits/stdc++.h>
using namespace std;
int main() { 
   
    int a;
    cin>>a;
    printf("%o\n",a);
 
    return 0;
}//What is this?
//Can you guess?

方法2:递归
方法虽好,但对于初学者来说难了点
代码

#include <bits/stdc++.h>
using namespace std;
int js(int n) 
{ 
   
    if(n<8)return n;
    else return n%8+10*(js(n/8));
}
int main() 
{ 
   
    int n;
    cin>>n;
    cout<<js(n)<<endl;

    return 0;
}//Nice

方法3:while循环
这种方法适合初学者
代码

#include<bits/stdc++.h>
using namespace std;
long long sum=0,b=1,x=1;
int a;
int main()
{ 
   
    cin>>a;
    while(a!=0)
    { 
   
        sum=sum+(a%8)*x;
        a/=8;
        x*=10;
    }
    cout<<sum<<endl;
   
    return 0;
}

推荐学过递归的用第二种,刚学while循环的用第三种,都没学的只好用第一种了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/11012.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信