两种写法的主要区别在于如何循环
第一种写法:
#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;
}