C语言-八进制转十进制

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

#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;
}
上一篇:2022 02 24 字节跳动2019春招 万万mei想到之抓捕孔连顺


下一篇:下降幂多项式的简单小应用