문제
주어진 정수에서 모든 영(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