我們得到一個包含數字的字串。目標是使用遞歸 atoi() 方法找到等效數字。 int atoi(const char *str) 將字串參數 str 轉換為整數(int 型別)。
輸入− Str[] = "58325"
輸出− 等效小數為:58325
解釋− 字串包含等效數字58325
#輸入− Str[] = "00010"
##輸出− 等效小數為:1
解釋 - 此字串包含等效數字10。
在這種方法中,我們使用遞歸函數recurAtoi() 來取得輸入字串及其長度,對於每個字元將其轉換為十進制並乘以10。將先前的結果加入其中。
取輸入包含數字的字串 Str[]。
使用 strlen(Str) 計算其長度。
函數 recurAtoi(char *str, int len) 接受輸入並傳回使用遞歸 atoi() 函數計算的數字。
如果長度為 1,則傳回數字 *str -'0'。
取 temp=10*recurAtoi(str,len-1)。
並設定 temp=temp str[len-1 ]-'0'。
最終回到溫度。
列印結果。
#include <bits/stdc++.h> using namespace std; int recurAtoi(char *str, int len){ if (len == 1){ return *str - '0'; } int temp=10*recurAtoi(str,len-1); temp=temp+str[len-1]-'0'; return (temp); } int main(void){ char Str[] = "58325"; int length = strlen(Str); cout<<"Equivalent decimal :"<<recurAtoi(Str, length); return 0; }
如果我們執行上面的程式碼,它將產生以下輸出
Equivalent decimal : 58325#
以上是在C++中遞歸實作atoi()函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!