>  기사  >  백엔드 개발  >  C++에서 atoi() 함수를 재귀적으로 구현

C++에서 atoi() 함수를 재귀적으로 구현

PHPz
PHPz앞으로
2023-08-27 13:57:09768검색

C++에서 atoi() 함수를 재귀적으로 구현

숫자가 포함된 문자열을 얻습니다. 목표는 재귀 atoi() 메서드를 사용하여 동일한 숫자를 찾는 것입니다. int atoi(const char *str) 문자열 인수 str을 정수(유형 int)로 변환합니다.

예:

Input− Str[] = "58325"

Output− 해당 소수점은 다음과 같습니다. 58325

Explanation− 문자열에 해당 숫자 58325

Input이 포함됩니다. − Str[ ] = "00010"

Output− 해당 소수점은 다음과 같습니다. 1

Explanation - 이 문자열에는 해당 숫자 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 - &#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;
}

Output

위 코드를 실행하면 다음과 같은 출력이 생성됩니다

Equivalent decimal : 58325

위 내용은 C++에서 atoi() 함수를 재귀적으로 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제