解题思路:先将16转10再将10转8
注意事项:
参考代码:
#include<bits/stdc++.h> #include<math.h> using namespace std; void fun_10_8(int n) { if(n<8) cout<<n; if(n>=8) { fun_2(n/8); cout<<n%8; } } int main() { int n,count=0,lenth,temp; cin>>n; getchar(); char num[100001]; while(n--){ gets(num); lenth = strlen(num); for(int i=0;i<lenth;i++){ switch(num[i]) { case 'A': temp = 10; break; case 'B': temp = 11; break; case 'C': temp = 12; break; case 'D': temp = 13; break; case 'E': temp = 14; break; case 'F': temp = 15; break; default: temp = num[i]-'0'; break; }//将16进制数的每一位转换成10进制数 count+=temp*pow(16,lenth-i-1); } //cout<<"10:"<<count<<endl; fun_10_8(count);cout<<endl; count=0; } return 0; }
0.0分
5 人评分
简单的a+b (C语言代码)浏览:335 |
【计算球体积】 (C语言代码)浏览:1101 |
DNA (C语言代码)浏览:540 |
1157题解浏览:711 |
1128题解(返回值为数组的情况)浏览:450 |
图形输出 (C语言代码)浏览:936 |
简单的事情 (C语言代码)浏览:633 |
陶陶摘苹果2 (C++代码)浏览:537 |
【计算两点间的距离】 (C语言代码)浏览:844 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:514 |