> 백엔드 개발 > C++ > 본문

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

PHPz
풀어 주다: 2023-08-27 13:57:09
앞으로
817명이 탐색했습니다.

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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿