Тема 1055: Преобразование языковой базы C уровня 2.

Программируя, введите положительное десятичное целое число, а затем выведите соответствующее ему восьмеричное число.

Формат ввода

десятичное число

Выходной формат

Соответствующее восьмеричное число

Пример ввода

10

Пример вывода

12


Используйте цикл while для преобразования десятичного числа в восьмеричное . В цикле мы сначала вычисляем остаток от деления десятичного числа на 8 , а затем прибавляем остаток к восьмеричному числу. Затем мы делим десятичное число на 8 и умножаем основание на 10, чтобы остаток оказался в правильном положении в следующий раз в цикле.

Цикл заканчивается, когда десятичное число становится равным 0.

Наконец, в качестве результата мы выводим восьмеричное число.

#include<iostream>
using namespace std;


int main() {
	int decimal;
	cin >> decimal;  //输入十进制数
	int octal = 0;   //保存八进制结果的变量
	int base = 1;    //八进制的基数

	while (decimal > 0) {
		int remainder = decimal % 8;  //计算十进制数除以8的余数
		octal += remainder * base;   //将余数加到八进制数中
		decimal /= 8;   //更新十进制数为商
		base *= 10;
	}

	cout << octal << endl;  //输出八进制数


	return 0;
}

おすすめ

転載: blog.csdn.net/qq_63999224/article/details/132933910