숫자가 포함된 문자열이 제공됩니다. 목표는 재귀적 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