void oct(int n) {
int sum = 0;
int j = 0;
while (n) {
sum += n % 8 * (int)pow(10,j++);
n /= 8;
}
printf("%d\n",sum);
}
void dec(int num) {
int ret = 0;
int i = 0;
while (num) {
if (num>8) {
printf("错误\n");
return ;
}
ret += num%10*(int)pow(8,i++);
num /= 10;
}
printf("%d\n",ret);
}
int main() {
int n = 0;
printf("输入要转换为八进制的数字:");
scanf("%d",&n);
oct(n);
int num = 0;
printf("输入要转换为十进制的数字:");
scanf("%d", &num);
dec(num);
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main(){
long long n;
cin >> n;
long long num1 = n;
int a[50];
int t = 0;
while(n!=0){
a[t++] = n%10;
n /=10;
}
int sum = 0;
for (int i = 0; i < t; i++) {//最后t没用
sum += a[i]*pow(8,i);
}
printf("%d=%d", num1,sum);
return 0;
}
登录后提交答案