Heim > Backend-Entwicklung > C++ > Implementieren Sie die Funktion atoi() rekursiv in C++

Implementieren Sie die Funktion atoi() rekursiv in C++

PHPz
Freigeben: 2023-08-27 13:57:09
nach vorne
877 Leute haben es durchsucht

Implementieren Sie die Funktion atoi() rekursiv in C++

Wir erhalten eine Zeichenfolge mit Zahlen. Ziel ist es, mit der rekursiven Methode atoi() äquivalente Zahlen zu finden. int atoi(const char *str) Konvertiert das String-Argument str in eine Ganzzahl (Typ int).

Beispiel:

Eingabe− Str[] = "58325"

Ausgabe− Die entsprechende Dezimalzahl ist: 58325

Erläuterung− Die Zeichenfolge enthält die entsprechende Zahl. 58325

Eingabe − Str[ ] = "00010"

Ausgabe− Die entsprechende Dezimalzahl ist: 1

Erläuterung – Diese Zeichenfolge enthält die entsprechende Zahl 10.

Die im folgenden Programm verwendete Methode lautet wie folgt:

In dieser Methode verwenden wir die rekursive Funktion recurAtoi(), um die Eingabezeichenfolge und ihre Länge abzurufen, sie für jedes Zeichen in eine Dezimalzahl umzuwandeln und mit 10 zu multiplizieren. Fügen Sie die vorherigen Ergebnisse hinzu.

  • Nehmen Sie die Eingabezeichenfolge Str[], die Zahlen enthält.

  • Verwenden Sie strlen(Str), um seine Länge zu berechnen.

  • Funktion recurAtoi(char *str, int len) akzeptiert Eingaben und gibt eine Zahl zurück, die mit der rekursiven Funktion atoi() berechnet wurde.

  • Wenn die Länge 1 ist, wird die Zahl *str -'0' zurückgegeben.

  • Take temp=10*recurAtoi(str,len-1).

  • und setze temp=temp+str[len-1 ]-'0'.

  • Endlich kehrt die Temperatur zurück.

  • Drucken Sie die Ergebnisse aus.

Beispiel

#include <bits/stdc++.h>
using namespace std;
int recurAtoi(char *str, int len){
   if (len == 1){
      return *str - &#39;0&#39;;
   }
   int temp=10*recurAtoi(str,len-1);
   temp=temp+str[len-1]-&#39;0&#39;;
   return (temp);
}
int main(void){
   char Str[] = "58325";
   int length = strlen(Str);
   cout<<"Equivalent decimal :"<<recurAtoi(Str, length);
   return 0;
}
Nach dem Login kopieren

Ausgabe

Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert

Equivalent decimal : 58325
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonImplementieren Sie die Funktion atoi() rekursiv in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage