复杂版如下:
这个用到的方法是进制转化公式
如这个八进制转化十进制:
同时用到了数字转化字符串,字符串转化数字。
#include <bits/stdc++.h>
using namespace std;
int main(){
int time,end;
cout << "请输入你想查询的次数:"<<endl;
cin >> time;
cout << "\n\n\n";
for(int i=0;i < time;i++){
int s;string s0;
cout << "输入你第" << i+1 << "次查询的数:";
cin >> s;
stringstream aa;
aa << s;aa >> s0;
int length=s0.length();
for(int j=0;j < s0.length();j++){
int s1;
stringstream aa1;
aa1 << s0[j];aa1 >> s1;
end=pow(9,length-1)*s1+end;//cout<<"endl:"<<end<<endl;
length--;
}
cout<<"你的第"<<i+1<<"次查询"<<s<<"从九进制转化为十进制的结果为:";
cout<<end<<"\n\n\n";
end=0;
}
return 0;
}
简易版如下:(只保留了代码部分)
#include <bits/stdc++.h>
using namespace std;
long long k,ans=0;
int t,i;
char a[1001];
int main()
{
cin>>t;
while (t--)
{
ans=0;
cin>>a;
k=strlen(a);
for (i=0;i<k;++i) ans=ans*9+a[i]-'0';
cout<<ans<<endl;
}
}