0
点赞
收藏
分享

微信扫一扫

C语言-八进制转十进制

玉新行者 2022-02-24 阅读 87

两种写法的主要区别在于如何循环
第一种写法:

#include<iostream>

using namespace std;

int main()
{
    char s[1000];
    int i, num = 0;
    long sum = 0;
    cin>>s;
    for(i = 0; s[i]; i++)
    {
        num = s[i] - '0';
        sum = sum * 8 + num;
    }
    cout<<sum<<endl;
    return 0;
}

法二:

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
    int i = 0, n;
    long sum = 0;
    cin>>n;
    while(n)
    {
        sum += (n % 10) * pow(8, i++);
        n /= 10;
    }
    cout<<sum;
    return 0;
}
举报

相关推荐

0 条评论