藍橋杯 進制轉換 C++算法提高 HERODING的藍橋杯之路

資源限制
時間限制:1.0s 內存限制:256.0MB
問題描述
  編寫函數將十進制整數按8進制輸出,然後編寫main函數驗證該函數。例如輸入12,則輸出爲:12=014,輸入32,則輸出32=040。
輸入格式
  輸入一個整數。
輸出格式
  輸出這個整數的八進制形式。
樣例輸入
12
樣例輸出
014
數據規模和約定
  輸入的整數n>=0.
  
解題思路:
這道題是十進制轉八進制 ,方法和轉二進制一樣,就是多了一個步驟,第一位輸出爲0,所以直接在輸出的基礎前先輸出一個0即可,範圍限定在int的範圍內,所以不用考慮長度不夠的問題,代碼如下:

#include<bits/stdc++.h>

using namespace std;

int main(){
	int n;
	cin >> n;
	int a[100];
	a[0]=0;
	int len = 1;
	while(n >= 1){
		a[len ++] = n % 8;
		n /=8;
	}
	cout << a[0];
	for(int i = len-1; i >= 1; i --){
		cout << a[i];
	}
	return 0;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章