数値を含む文字列を取得します。目標は、再帰的な atoi() メソッドを使用して同等の数値を見つけることです。 int atoi(const char *str) 文字列引数 str を整数 (int 型) に変換します。
Input- Str[] = "58325"
Output- 同等の 10 進数は次のとおりです: 58325
説明- 文字列には同等の数値 58325
Input- Str[] = "00010"
出力- 10 進数は次のとおりです: 1
説明 - 文字列には同等の数値 10 が含まれます。
このメソッドでは、再帰関数 recurAtoi() を使用して入力文字列とその長さを取得し、文字ごとに 10 進数に変換します。そして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 中国語 Web サイトの他の関連記事を参照してください。