문제
주어진 정수에서 모든 영(0)을 1로 바꾸는 프로그램을 작성하십시오.
입력으로 정수가 주어지면 숫자의 모든 0은 1로 대체되어야 합니다.
해결책
아래 주어진 예를 고려하십시오 -
여기서 입력은 102410, 출력은 112411입니다.
알고리즘
정수에서 모든 0을 1로 바꾸려면 아래에 제공된 알고리즘을 참조하십시오.
1단계 - 사용자로부터 정수를 입력합니다.
2단계 - 정수 숫자를 숫자로 탐색합니다.
3단계 - '0'이 발견되면 '1'로 대체합니다.
4단계 - 정수를 출력합니다.
예시
다음은 주어진 정수에서 모든 0을 1로 바꾸는 C 프로그램입니다 -
#include<stdio.h> int replace(long int number){ if (number == 0) return 0; //check last digit and change it if needed int digit = number % 10; if (digit == 0) digit = 1; // Convert remaining digits and append to its last digit return replace(number/10) * 10 + digit; } int Convert(long int number){ if (number == 0) return 1; else return replace(number); } int main(){ long int number; printf("\nEnter any number : "); scanf("%d", &number); printf("\nAfter replacement the number is : %dn", Convert(number)); return 0; }
출력
위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -
Enter any number: 1056110010 After replacement the number is: 1156111111