日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我的编程学习日志(1)--进制转换

發布時間:2024/8/24 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的编程学习日志(1)--进制转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天拿到一個題,把任意一個int型的十進制數n轉換為m(0<m<=32)進制。

?

既然沒有小數思路就很簡單了,只需要把n除以m取余數,記錄每個余數,最后把余數反序輸出(如圖)。

下面就來分步實現它。

?(注:這并不算最簡單的實現過程)

首先n/m取余,并用一個數組來存儲余數:

<pre class="cpp" name="code">int yu[100]; int n,m,i; i=0; cin>>n; cin>>m; while(n) { yu[i]=n%m;n=n/m;i++; }

?然后是反序輸出:

for(i=i-1;i>=0;i--) {cout<<yu[i]; } cout<<endl;

?

(這里存儲加反序輸出,我首先想到的是用鏈表,但題目已經說明n是int型,所以用來存儲余數的數組[100]已經夠用了,不會造成太大的空間浪費,用鏈表就得不償失了。)

?

因為超過11的數要用字母來表示,所以輸出時還要加這個判斷:

if(yu[i]>10) { yu[i]=yu[i]+55; cout<<(char)yu[i]; } else cout<<yu[i];


這樣就完成了一個十進制轉其他進制的程序。

?

完整的代碼如下:

#include<iostream> using namespace std;int main() {int n,m,i;int yu[100];i=0;cin>>n;cin>>m;while(n){yu[i]=n%m;n=n/m;i++;}for(i=i-1;i>=0;i--){if(yu[i]>10){yu[i]=yu[i]+55;cout<<(char)yu[i];}elsecout<<yu[i];}cout<<endl;return 0; }


?

?

轉載于:https://www.cnblogs.com/ikaze/p/5140103.html

總結

以上是生活随笔為你收集整理的我的编程学习日志(1)--进制转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。