五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C語言字符串數(shù)字轉(zhuǎn)換為數(shù)字

2022-07-18 03:26 作者:鳧水億  | 我要投稿

本章不使用<stdlib.h>中提供的字符串數(shù)字轉(zhuǎn)換為數(shù)字的函數(shù)

char *itoa(int _Val, char *_DstBuf, int _Radix);//該函數(shù)是非標準庫所提供的

up主提供一種C語言字符串數(shù)字轉(zhuǎn)換為數(shù)字的思路:

拆分法

如圖所示,將十位,百位單獨計算出來,然后加上個位得到完整的數(shù)字。

學過基礎(chǔ)的朋友應(yīng)該了解過ASCII字符集,在0~127的范圍內(nèi)包含了控制字符,顯示字符,其中48~58為數(shù)字字符,即0~9。轉(zhuǎn)換個位的字符數(shù)字很輕松,可是十分位、百分位、及更大的數(shù)就不好計算了。

為此,up做了很多草稿,分析他們的規(guī)律變化:

冪次不同

查詢資料,C標準庫有一個函數(shù)可以幫助我們升冪:

double pow (double base, double exponent);

這樣夠了嗎?當然沒有,好戲才剛剛開始。

up決定手撕冪次函數(shù),用自己的辦法實現(xiàn)一遍,以便加深對C語言的理解。


經(jīng)過幾個小時的苦思冥想,發(fā)現(xiàn)了好幾種方法:循環(huán)遍歷相乘,遞歸相乘。遞歸相乘是最先想到的,這里就講講如何使用遞歸實現(xiàn)功能。

如果不了解遞歸,這里講個簡單的例子:俄羅斯套娃。

以下的代碼展示:

在第四行我們看到了遞歸的發(fā)生——函數(shù)調(diào)用自身。

遞歸由兩部分組成,傳遞與回歸。函數(shù)結(jié)構(gòu)大致分為兩個部分,一、是檢驗數(shù)據(jù)是否達到遞歸出口的條件,二、是篩選遞歸之外的情況,然后進行處理。

第一個是 if?,判斷相乘剩余的次數(shù),如果剩余次數(shù)在1次以上,則繼續(xù)傳遞。

第二個 else if ,篩選特例數(shù)據(jù),當一開始提供的次方數(shù)為0時的情況。

第三個是 else ,一旦pow為1時,回歸開始發(fā)生。


以下是樣例代碼,有些許潦草,但包含了一些標記,希望對你們有所幫助:

結(jié)果輸出:

還有一種方法是遍歷相乘法

原理是通過變量,控制相乘的次數(shù)。

以下提供簡短的代碼:

但代碼并不牢靠,還要對 pow 為 0 時的特殊情況進行考慮,在這里就不再贅述。


C語言字符串數(shù)字轉(zhuǎn)換為數(shù)字的評論 (共 條)

分享到微博請遵守國家法律
绥芬河市| 久治县| 玉环县| 青州市| 潼关县| 千阳县| 土默特左旗| 合肥市| 武邑县| 永年县| 乐至县| 新和县| 新建县| 江山市| 通化县| 三台县| 平昌县| 山阳县| 莲花县| 新蔡县| 偃师市| 卓资县| 林西县| 深圳市| 兰州市| 科技| 普陀区| 南江县| 中江县| 孝感市| 溧阳市| 上虞市| 金湖县| 六枝特区| 丹东市| 呈贡县| 高碑店市| 大竹县| 开江县| 徐汇区| 香港 |