資料結構-十進制轉N進制(要求用堆疊來實作)
輸入任意一個非負十進制整數,要求輸出與其等值的八進制數(要求用順序堆疊實作,并且有堆疊初始化操作,入堆疊操作,出堆疊操作,判斷堆疊是否為空的操作)。
uj5u.com熱心網友回復:
//十進制轉換為任意進制的原始碼#include <iostream>
using namespace std;
int main()
{
long n;
int p,c,m=0,s[100];
cout<<"輸入要轉換的數字:"<<endl;
cin>>n;
cout<<"輸入要轉換的進制:"<<endl;
cin>>p;
cout<<"("<<n<<")10="<<"(";
while (n!=0)//數制轉換,結果存入陣列s[m]
{
c=n%p;
n=n/p;
m++;s[m]=c; //將余數按順序存入陣列s[m]中
}
for(int k=m;k>=1;k--)//輸出轉換后的序列
{
if(s[k]>=10) //若為十六進制等則輸出相對應的字母
cout<<(char)(s[k]+55);
else //否則直接輸出數字
cout<<s[k];
}
cout<<")"<<p<<endl;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61499.html
標籤:基礎類
